f870f2dce9300c8dec620613371f08e5c234245b |
16-Oct-2012 |
jeffhao <jeffhao@google.com> |
Add dx option to always generate const-string/jumbo.do not merge. This allows large dex files with many strings to be merged properly. (cherry picked from commit 266f45ff7da18022faf5f77df76c69f8cdad313f) Change-Id: I5fe4c55d84a91101a4f89f590117aa6dc0bfc0f2
ain.java
exer/Main.java
|
7aa5ce7e990dc3766eba97cd0932b62e4de21503 |
12-Jun-2012 |
Xavier Ducrohet <xav@android.com> |
Make dex merging stateless. This is required to run dx in Eclipse which doesn't unload the dx library after each run. Change-Id: I84df49d424ea465f70613eb602d1a4890804296a
exer/Main.java
|
4cd7b39876bcec03bb1d0c2afa61cbdb7d119eba |
09-Dec-2011 |
Jesse Wilson <jessewilson@google.com> |
Remove dx's copy of JUnit. Instead, use JUnit the same way other code uses JUnit: by depending on the copy in external. There is no longer a top-level option in dx to run JUnit tests on itself. There are two failing tests in dx/junit-tests. Both of these are in the recently created DexGeneratorTest; I intend to fix these in another change. Bug: http://b/2286423 Change-Id: I3a173a0302c7ccc81be3b5a2a4d766000d1c242b
ain.java
|
36db01eeaa04e3af3401c5bd6a399d3fb7b040e3 |
23-Aug-2011 |
jeffhao <jeffhao@google.com> |
Removed parsing and output for unused --target-api switch in dx. This is cherry-picked from dalvik-dev. Change-Id: I74627e4c261e086e8c2c7cf38591cd3e9f5707e6
ain.java
exer/Main.java
|
9910d7e004c7452a6a1b934f19dc87bb4d61d8bc |
14-Jul-2011 |
Raphael <raphael@google.com> |
resolved conflicts for merge of 72b7c617 to master Change-Id: I8c3a32d9ee0dea08cca79031cda870141aacdb17
|
72b7c6179a6ab44b60735f9c4411faa5fce9649d |
12-Jul-2011 |
Raphael <raphael@google.com> |
resolved conflicts for merge of c3ff6a0b to honeycomb-plus-aosp Change-Id: I6b9cfdc27b2654bd832cfd06678a173449f992bc
|
1e4c4bebc1feb4b68155e9c2e7e6f2c056ef8e3b |
12-Jul-2011 |
Raphael Moll <ralf@android.com> |
Dex for Windows: Support paths with spaces. 1- Change the format of the command line parsed by dx.jar. Parameters with values are usually specified with one single argument e.g. --output=/some/path with spaces That breaks for a variety of reasons on windows, so the first step is to allow a new 2-parameter form: --output "/some/path with spaces" 2- The next step is fixing the way the dx.bat wrapper extracts the -J parameters to be able to cope with arguments that contain spaces. SDK bugs: 4567, 18388 Change-Id: Ia837e7307998c0bf41ae39abb36abebfc27da104
exer/Main.java
|
a7ab2182266fb9ea1e4e8d1347fc6d6da35760d4 |
16-Jun-2011 |
Elliott Hughes <enh@google.com> |
Fix unbundled apps on pre-ICS devices. Change-Id: I4aa58b5395423ec2f05be3dcb1783d0e35eabb2c
ain.java
exer/Main.java
|
9fdbd91288a237eb58e18e4de9c729c3c268c318 |
25-May-2011 |
Dan Bornstein <danfuzz@android.com> |
Update dex file magic number. Even though the dex format was technically resilient with respect to the addition of new opcodes, consensus is that the errors one sees when trying to use a new dex file on an old build were sufficiently inscrutable that it was worth the effort to update the version number embedded in the dex format magic. This change updates dx to produce the new version number when extended opcodes are enabled (which is the default, but may be overridden by targeting an older API level). This also updates the vm to recognize and accept both the new current version number as well as the immediately previous one. Note: It won't reject an old-version file if it happens to use the new opcodes; that would just be a gratuitous and pointless failure. Bug: 4364986 Change-Id: If8febbb0b91c1719df4247bf69c511251362d91f
exer/Main.java
|
1c7c32e2ff5d9f6a3c0319e9d0088261f2cccb2b |
29-Apr-2011 |
Elliott Hughes <enh@google.com> |
Enhance FindUsages to treat its strings as regular expressions. So we can look for, say, 'Ljava/nio/(Char|Short)Buffer;' 'allocate(Direct)?'. Change-Id: Ia17daa67c3d6ca5e7831bd8448a21251861a834e
indusages/FindUsages.java
indusages/Main.java
|
333201833d506a3accdeac6ceb7caba8d4b95797 |
13-Apr-2011 |
Jesse Wilson <jessewilson@google.com> |
Combine CstUtf8 and CstString. The only benefit we were seeing is that one wrapped its toHuman in quotes, the other didn't. It was far too easy to use the wrong one. We had code defending against that in NameValuePair and CstArray. Change-Id: Ib2e6a1596b97decced37952d46e1831b7bcd0d5d
exer/Main.java
|
56ff6fe7f312dab76c365e5b482a6c32e44caaf7 |
11-Apr-2011 |
jeffhao <jeffhao@google.com> |
Dx block dumper no longer fails on abstract and native methods. Change-Id: I3bad07a1621c0ef4bc495816b2438cab9401a828
ump/BlockDumper.java
ump/SsaDumper.java
|
afe002d1474d7c2ef2ac80de32f21f1949af2a41 |
07-Apr-2011 |
Dan Bornstein <danfuzz@android.com> |
Update the interpretation of --target-api. Change-Id: I4ab158384d09470d84097d944ae1ddadeb2ad045
exer/Main.java
|
f54258b98c9ab941881625e5509bb902088a99e6 |
24-Mar-2011 |
Jesse Wilson <jessewilson@google.com> |
Merge "Use PrintWriter rather than PrintStream in dex analysis tools." into dalvik-dev
|
6bf7f30e6968d9917eb4d0ca2280df96a8096134 |
24-Mar-2011 |
Jesse Wilson <jessewilson@google.com> |
Use PrintWriter rather than PrintStream in dex analysis tools. Writers make it easier to create strings, useful when these tools are used as building blocks for other tools. Change-Id: I8eac49719b130551df216f42eaafb942203da0d0
indusages/FindUsages.java
indusages/Main.java
rep/Grep.java
rep/Main.java
|
09dc1b7301e8b03fc6772b022d21afe9cb077d89 |
22-Mar-2011 |
Dan Bornstein <danfuzz@android.com> |
Make sure both options objects get created. Previously, the new DexOptions object would only get created when calling dx as a command directly, but not when it was used as a library (via a call to Main.run()). Change-Id: Ie4f37ff9140539a4f2c7af50228ac6eaf6bebe05
exer/Main.java
|
09d308b04b7c4fd3ed83a8f8f4c07be67a25478c |
17-Mar-2011 |
Jesse Wilson <jessewilson@google.com> |
Add support for pre-dexed libraries to dx. http://b/4090053 Change-Id: Ifb8b9230939cb2a72a767128f79cbfbd042e95a6
exer/Main.java
indusages/Main.java
rep/Main.java
|
d2b1c42f8834a2bd6120dca9502b97913372719d |
17-Mar-2011 |
Jesse Wilson <jessewilson@google.com> |
Merge "Don't emit multiple copies of annotations when merging dex files." into dalvik-dev
|
bd3dba4346223593ac6033a3d2a7d8ec6f20738b |
16-Mar-2011 |
Jesse Wilson <jessewilson@google.com> |
Don't emit multiple copies of annotations when merging dex files. This change requires all annotations to be loaded into memory so they can be sorted. There does not appear to be a required order to the annotations in .dex files. Loading annotations also requires loading encoded values, which makes this into a large refactoring. Change-Id: Ib7e2656c595018be4e9936eb84a22f1c1de56750 http://b/4090053
indusages/FindUsages.java
|
3dfda9ad1964510e4a7948a240b30cd710e86341 |
17-Mar-2011 |
Dan Bornstein <danfuzz@android.com> |
Add --target-api=N option to dx. This change adds the option and plumbs it into where it needs to go, but doesn't add any code to take action on it. That will come in a follow-up. Bug: 4094709 Change-Id: I9c796e176e125b0bcee18af56d9e6da802dfa081
exer/Main.java
|
87508f44a0ace550ae397ab83fc2a0fe1967259f |
08-Mar-2011 |
Jesse Wilson <jessewilson@google.com> |
Merge "Permit dx to build resource-only dex files." into dalvik-dev
|
d2b3f499be6f5b1d4076b1244be3d1501d178315 |
08-Mar-2011 |
Jesse Wilson <jessewilson@google.com> |
Permit dx to build resource-only dex files. Previously it would build a .jar file containing a classes.dex that itself contained no classes. Change-Id: I9c36a5dcdd17d2821be15f87656d72ef0048c113
exer/Main.java
|
ae38a1e705253b53abf1beff7dc3467d52c58f32 |
08-Mar-2011 |
Jesse Wilson <jessewilson@google.com> |
Add a tool to grep the strings in a dex file. Change-Id: I21b8537518718350def2f847e9c76ae4154bd4d6 http://b/4026001
rep/Grep.java
rep/Main.java
|
dc520adfdcf0f0e9190cdb90605c42a7cc8fa98f |
07-Feb-2011 |
Dan Bornstein <danfuzz@android.com> |
Fix dex processing when no output file is specified. This case is mainly exercised in test code. Change-Id: Ifbcbec3f001cae925090796ce8ed69f6a986384c
exer/Main.java
|
537939ca06a47668f719ee06159303bcd3175c69 |
04-Feb-2011 |
Dan Bornstein <danfuzz@android.com> |
Move the instruction representation code. It now gets its own subpackage, reducing the clutter in the base .io package. I was on the fence about CodeReader and ended up just leaving it be, but maybe that one wants to move too. Change-Id: I87c574ce2086025bcb9583627a545160084ba88e
indusages/FindUsages.java
|
a754fbb1555f9ac2d14de0ffd0046c780732da5a |
02-Feb-2011 |
Dan Bornstein <danfuzz@android.com> |
Move opcode names into OpcodeInfo. This also allowed me to remove the Instruction argument from the CodeReader visitor methods. Per previous discussion, this also gets rid of the redundant argument output in FindUsages. I can clean up CodeReader some more in a follow-up. Change-Id: I7a65e8d74498e201fd169cddde0d1f19d6f33f81
indusages/FindUsages.java
|
38b861bc63b91114d52ba01e74d31fbf316a5784 |
02-Feb-2011 |
Dan Bornstein <danfuzz@android.com> |
Hook up CodeReader. This involved tweaking a lot of interfaces and a few bits of the implementation, and it could use at least one cleanup pass, but I think the basic structure is pretty reasonable. Change-Id: Ic49410aca479d54ceb837ee7e04bedd2ca0bcda9
indusages/FindUsages.java
|
d0900d13fb7bb1706aff5205af7e2d6517335bee |
21-Jan-2011 |
jeffhao <jeffhao@google.com> |
Made handling of sim exceptions nicer. Change-Id: I089512c046d90ea37da4a33433edc4ec308a628d
exer/Main.java
|
dc86cd9edc8b80953c8b698a83cdaebf6825d798 |
18-Jan-2011 |
Jesse Wilson <jessewilson@google.com> |
Add an undocumented --incremental option to dx. Change-Id: I48879b2f724e9b92c99c669803f9c8de01487327
nnotool/AnnotationLister.java
exer/Main.java
indusages/FindUsages.java
indusages/Main.java
|
e31a42442bbd2cdc69e959f5209b793cf0aa7217 |
17-Jan-2011 |
Jesse Wilson <jessewilson@google.com> |
Make DexMerger's dex reader general purpose. Use this to implement FindUsages, which prints references to fields and methods within a dex. This is the FindUsages output for "Ljava/lang/Number;", "longValue" on libcore's dex file: Method referenced by Ljava/io/EmulatedFields;#get invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/io/EmulatedFieldsForDumping;#write invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/io/ObjectOutputStream;#writeFieldValues invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method declared by Ljava/lang/Number;#longValue Method declared by Ljava/lang/Byte;#longValue Method declared by Ljava/lang/Double;#longValue Method declared by Ljava/lang/Float;#longValue Method declared by Ljava/lang/Integer;#longValue Method declared by Ljava/lang/Long;#longValue Method declared by Ljava/lang/Short;#longValue Method referenced by Ljava/lang/reflect/Array;#set invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/math/BigDecimal;#divideBigIntegers invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/math/BigDecimal;#divideBigIntegers invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/math/BigDecimal;#divideBigIntegers invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/math/BigDecimal;#readObject invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/math/BigDecimal;#setUnscaledValue invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/math/BigDecimal;#valueExact invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/math/BigDecimal;#doubleValue invoke-virtual/range {vCCCC..vNNNN}, meth@BBBB Method referenced by Ljava/math/BigDecimal;#doubleValue invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method declared by Ljava/math/BigDecimal;#longValue Method referenced by Ljava/math/BigDecimal;#longValue invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method declared by Ljava/math/BigInteger;#longValue Method referenced by Ljava/math/Conversion;#bigInteger2Double invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/math/Conversion;#bigInteger2Double invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/text/NumberFormat;#format invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/text/DateFormat;#format invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/text/DecimalFormat;#format invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/text/DecimalFormat;#parse invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/text/SimpleDateFormat;#formatToCharacterIterator invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/util/Formatter;#transform invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/util/Formatter;#transformFromDateTime invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/util/Formatter;#transformFromInteger invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/util/Formatter;#transformFromInteger invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/util/Formatter;#transformFromInteger invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/util/Formatter;#transformFromInteger invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/util/Formatter;#transform_g invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/util/Formatter;#transform_g invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/util/Formatter;#transform_g invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/util/Formatter;#transform_g invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Ljava/util/Scanner;#nextLong invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method declared by Ljava/util/concurrent/atomic/AtomicInteger;#longValue Method declared by Ljava/util/concurrent/atomic/AtomicLong;#longValue Method referenced by Llibcore/icu/NativeDecimalFormat;#formatToCharacterIterator invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Lorg/apache/xalan/xslt/SecuritySupport12;#getLastModified invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Lorg/apache/xml/dtm/SecuritySupport12;#getLastModified invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Lorg/apache/xml/dtm/ref/SecuritySupport12;#getLastModified invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Lorg/apache/xml/serializer/SecuritySupport12;#getLastModified invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Lorg/apache/xml/utils/SecuritySupport12;#getLastModified invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Lorg/apache/xpath/functions/SecuritySupport12;#getLastModified invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Lorg/json/JSON;#toLong invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Lorg/json/JSONArray;#getLong invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Lorg/json/JSONArray;#optLong invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Lorg/json/JSONObject;#numberToString invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Lorg/json/JSONObject;#getLong invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Method referenced by Lorg/json/JSONObject;#optLong invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC Change-Id: Ia50f28f53ce5838799e2d5f03a7a2f1c551299de
ain.java
indusages/FindUsages.java
indusages/Main.java
|
9028bfd131e42a58255699d1471c914d58893c61 |
13-Dec-2010 |
jeffhao <jeffhao@google.com> |
Adding javax.sip to the dx blacklist. Change-Id: I5be068821862ccf073cb758e60b686f46a3c97c1
exer/Main.java
|
d05e4fd966e8b3eaabd006dcdd76a42900110f12 |
09-Nov-2010 |
jeffhao <jeffhao@google.com> |
Added info for parallel dx switch "num-threads" to help message. Change-Id: I7fa31ab7160956c135ab95f8411ad359f616403d
ain.java
|
ccf5cff3faefcf1d44d0ebc141a1f7e7dcee3c62 |
01-Nov-2010 |
Dan Bornstein <danfuzz@android.com> |
Always dump blocks in label order. This removes some cases of spurious test failure. Also did some minor whitespace and commenting cleanup while I was in the territory. Change-Id: I6b8f6d0c340625c31bde78394e77abf429367af3
ump/BlockDumper.java
|
893ea594be06711902de7a484c0eecb910356f42 |
29-Oct-2010 |
Dan Bornstein <danfuzz@android.com> |
A bunch of minor cleanups. I'm reacquainting myself with this code, and figured I might as well do some of that nit-picky code convention tweakage while I was there. The only non-whitespace non-comment changes I made were to change the scope of a couple of methods to be more appropriate. Change-Id: I550978ed0f5b9ccec938faef7c00d09532832ee4
ump/BlockDumper.java
|
590f78fc4b6e3268149c5eacb7c8b7dd33497f44 |
22-Oct-2010 |
jeffhao <jeffhao@google.com> |
Added multi-threaded support to processing of class files in dx. Change-Id: Ideb54c414073a9651b21ce0697e6444fa80f146d
exer/Main.java
|
85dc40d2a0cb19792bf3ee6f6c57fed08eb91ea4 |
27-Sep-2010 |
Dan Bornstein <danfuzz@android.com> |
Take another tilt at the "--core-library" messaging windmill. This time, I added a note about what appears to be the most common inadvertent triggering, and I point people at JarJar as a possible solution when the core class inclusion was intentional. Change-Id: I2d576df0b8944882838cbb6e2b050d59434a238b
exer/Main.java
|
de75089fb7216d19e9c22cce4dc62a49513477d3 |
09-Jun-2010 |
Carl Shapiro <cshapiro@google.com> |
Remove trailing whitespace. Change-Id: I95534bb2b88eaf48f2329282041118cd034c812b
ain.java
nnotool/AnnotationLister.java
nnotool/Main.java
exer/Main.java
ump/BaseDumper.java
ump/BlockDumper.java
ump/SsaDumper.java
|
4b4413ab3d8de5805276cfcde3d7f535d9f64e85 |
18-May-2009 |
Dan Bornstein <danfuzz@android.com> |
Fix up the last handful of FindBugs complaints. And again, also do a bit of whitespace cleanup.
ump/BlockDumper.java
|
55423dcd081e30c4fc27b997f127db7b00f1b981 |
15-May-2009 |
Dan Bornstein <danfuzz@android.com> |
Fix a bunch of little problems noticed by FindBugs, and cleaned up some spacing issues that I happened to notice along the way.
exer/Main.java
|
41aecd0a6bfea1e9a6713014b2b3d56fec8c552c |
04-May-2009 |
Dan Bornstein <danfuzz@android.com> |
Tweaks, Mostly grep-based, to better conform to the coding guidelines.
nnotool/AnnotationLister.java
nnotool/Main.java
ump/SsaDumper.java
|
de1ab3724b284ab053322db7ff723f54d7826c96 |
31-Mar-2009 |
Dan Bornstein <> |
AI 143732: Tweaks, in response to public critique. Automated import of CL 143732
exer/Main.java
|
291fe153ba3b64dfb0472f1f53cee59c53f5da04 |
30-Mar-2009 |
Dan Bornstein <> |
AI 143492: Another crank of the --core-library wheel. Automated import of CL 143492
exer/Main.java
|
99409883d9c4c0ffb49b070ce307bb33a9dfe9f1 |
19-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import //branches/master/...@140412
xConsole.java
ain.java
nnotool/AnnotationLister.java
exer/Main.java
ump/BaseDumper.java
ump/BlockDumper.java
ump/ClassDumper.java
ump/DotDumper.java
ump/Main.java
ump/SsaDumper.java
|
f6c387128427e121477c1b32ad35cdcaa5101ba3 |
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
xConsole.java
ain.java
sageException.java
nnotool/AnnotationLister.java
nnotool/Main.java
exer/Main.java
ump/Args.java
ump/BaseDumper.java
ump/BlockDumper.java
ump/ClassDumper.java
ump/DotDumper.java
ump/Main.java
ump/SsaDumper.java
|
f72d5de56a522ac3be03873bdde26f23a5eeeb3c |
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
xConsole.java
ain.java
sageException.java
nnotool/AnnotationLister.java
nnotool/Main.java
exer/Main.java
ump/Args.java
ump/BaseDumper.java
ump/BlockDumper.java
ump/ClassDumper.java
ump/DotDumper.java
ump/Main.java
ump/SsaDumper.java
|
2ad60cfc28e14ee8f0bb038720836a4696c478ad |
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
xConsole.java
ain.java
sageException.java
nnotool/AnnotationLister.java
nnotool/Main.java
exer/Main.java
ump/Args.java
ump/BaseDumper.java
ump/BlockDumper.java
ump/ClassDumper.java
ump/DotDumper.java
ump/Main.java
ump/SsaDumper.java
|