Ben Gruver
aae58716e7
Fix some javadoc issues
2014-12-28 14:14:19 -08:00
Ben Gruver
d15e31526f
Expose the various fixed-size item counts in DexBackedDexFile
2014-12-28 12:25:03 -08:00
Ben Gruver
7296c9e957
Refactor VariableSizeLookaheadIterator
...
Previously, when referencing instance fields from readNextItem,
the fields wouldn't have been initialized yet on the first call to
readNextItem
2014-12-28 12:15:17 -08:00
yyjdelete
d1dbf6b14b
Use options.checkPackagePrivateAccess
2014-11-14 21:59:08 +08:00
yyjdelete
62c103d92a
checkPackagePrivateAccess only for API 17(4.2)
...
Google revert this for compatibility.
see 7284c78e14
for details.
BTW, it seems that is also disabled for late 4.2
2014-11-14 20:50:13 +08:00
Ben Gruver
686cf35c8e
Add some additional checks related to instruction size
2014-11-06 23:03:46 -08:00
Connor Tumbleson
6811d13935
Implement dex entry for non classes.dex files
2014-11-06 23:09:44 -06:00
edwardxwu
d354893f71
Fixed the bug of not setting the location field of the instruction in addInstruction(i,instruction) method
2014-08-29 20:45:22 -07:00
Ben Gruver
0d8418ff1f
Allow but ignore multiple exception handlers for the same exception
2014-07-21 18:54:30 -07:00
Ben Gruver
4143313b05
Fix potential NPE in MethodAnalyzer
2014-07-19 20:27:00 -07:00
Ben Gruver
d33fd6773c
Implement implicit method/field references in baksmali
2014-07-19 20:26:50 -07:00
Ben Gruver
a37e508ffa
Add missing "break" from switch statement in BuilderClassPool
2014-07-15 22:57:25 -07:00
Ben Gruver
5280047b42
Ensure the annotation elements are sorted when written
2014-07-15 22:54:41 -07:00
Ben Gruver
2d8cbfe6bc
Add support for non-standard invoke-object-init/range instructions
2014-02-02 19:29:26 -08:00
Ben Gruver
4357de47e3
Add new experimental dex rewriter functionality
2014-01-18 20:34:30 -08:00
Ben Gruver
78328a6035
Minor comment fix in MutableMethodImplementation
2014-01-18 15:47:57 -08:00
Ben Gruver
1d28b32ff5
Refactor the maven upload build stuff
...
This also adds the required javadoc jars
2014-01-18 11:33:39 -08:00
Ben Gruver
5b411f3447
Add gradle configuration for uploading smali artifacts to maven
2014-01-17 02:04:07 -08:00
Ben Gruver
90db3a16b7
Lazily create the lists in MethodLocation
...
Millions of MethodLocations can be created and kept in memory when
using the Builder interface to build a large dex file. The arrays
backing these lists were taking up a large amount of memory.
2014-01-16 21:29:26 -08:00
Ben Gruver
029ad25c66
Skip the call to String.format when annotating, if there are no values
2013-12-12 01:35:29 -08:00
Ben Gruver
4f2620415d
Add better handling for various types of invalid instructions
2013-12-08 17:44:11 -08:00
Ben Gruver
9057764c22
Add ReferenceInstruction.getReferenceType()
2013-12-07 15:11:37 -08:00
Ben Gruver
d3ba85b2ee
Fix typo in method index OOB error message
2013-12-07 15:11:37 -08:00
Ben Gruver
dc802b0660
Make CodeItem annotations more robust
2013-12-07 15:11:37 -08:00
Ben Gruver
d7cd52308e
Fix an issue with nop opcodes with a non-null second byte
2013-12-07 15:11:37 -08:00
Ben Gruver
b49126325f
Fix the start offset when calculating the signature header value
2013-11-10 22:07:02 -08:00
Ben Gruver
20f675b86b
When writing a debug item, always include all parameters
2013-11-10 22:07:02 -08:00
Ben Gruver
08d90ec360
Don't write out 0-length type lists
2013-11-10 22:07:02 -08:00
Ben Gruver
f6958ae4bc
Don't trim empty parameter annotations
2013-11-10 22:07:02 -08:00
Ben Gruver
263083faed
Use StringReference for MethodImplementationBuilder.addSetSourceFile
2013-10-23 14:23:35 -07:00
Ben Gruver
a2bf7f64bc
Fix issue with BuilderPackedSwitchPayload instructions
...
The transformation is performed lazily, and the keys were incorrect
when iterating over the elements more than once
2013-10-17 16:46:06 -07:00
Ben Gruver
899b1e6611
Improve MutableMethodImplementation for external use
...
Add various utility methods and use more specific overrides, to better
allow external users to access labels
2013-10-14 17:45:46 -07:00
Ben Gruver
902ba7d72d
Fix annotation/initial value issues when iterating over fields/methods in a DexBackedDexFile
...
Make sure to make a new annotation/initial value iterator when making a new
field/method iterator
2013-10-12 02:14:02 -07:00
Ben Gruver
9f48c72390
Fix issues with converting switch statements in MutableMethodImplementation
2013-10-12 01:50:53 -07:00
Ben Gruver
135631b11b
Fix issue with Format21lh instructions in MutableMethodImplementation
2013-10-12 01:10:38 -07:00
Ben Gruver
987ac1ed12
Fix the name and type being swapped when converting to ImmutableDebugInfo
2013-10-11 21:50:01 -07:00
Ben Gruver
bc6fcd5ae3
Fix accidental case fall-throughs in MutableMethodImplementation
2013-10-11 21:32:33 -07:00
Ben Gruver
1697b1d97d
Fix "hat" literal conversion in MutableMethodImplementation
2013-10-11 21:32:01 -07:00
Ben Gruver
6926ece0cd
Check for null before using Iterables.filter
2013-10-10 19:46:02 -07:00
Ben Gruver
216ca5376b
Always use the 035 version magic value when writing a dex file
2013-10-10 19:37:56 -07:00
Ben Gruver
7618e1636c
Make extra sure we don't output blank debug items
2013-09-28 17:57:33 -07:00
Ben Gruver
84be16bf51
Fix DebugItems in the new builder stuff
2013-09-21 14:40:49 -07:00
Ben Gruver
edd961477e
Remove the now unused builder instructions and instruction factories
2013-09-15 12:55:36 -07:00
Ben Gruver
f7d6d5fade
Gracefully handle instructions with invalid references
2013-09-14 19:53:21 -07:00
Ben Gruver
45b8a4dae8
Allow "large" uleb128 values for method/field index deltas
2013-09-14 12:47:23 -07:00
Ben Gruver
5ff4ee9a3f
Add missing copyright/license headers
2013-09-14 00:43:41 -07:00
Ben Gruver
6762350ca0
Add ability to converting MethodImplementation to MutableMethodImplementation
2013-09-14 00:32:32 -07:00
Ben Gruver
9a2de93a99
Implement just-in-time instruction fixup due to string jumboification
2013-09-08 21:41:23 -07:00
Ben Gruver
99b46173c5
Generify the IO requirements for writing a dex file
...
The DexWriter implementations now write to a generic "DexDataStore", instead
of writing directly to a file.
Also, writing of the DebugItems and CodeItems are linked, with the code
items being written to a temporary location, and then the entire code item
section is written as a batch after the debug item section.
2013-09-08 15:30:58 -07:00
Ben Gruver
160449b83a
Implement instruction fixing in MutableMethodImplementation
2013-09-07 14:54:16 -07:00