fe107fb6e3f308ac5174ebdc5a794ee880c741d9 |
|
17-Sep-2011 |
Jesse Wilson <jessewilson@google.com> |
Mechanical refactoring of dx into two parts. This splits off a new package, com.android.dex that contains code for parsing and modelling dex files. This code is usable both at build time (for compilation and analysis) and at runtime (for introspection). The original package, com.android.dx is the tool that compiles .class files into .dex files. That package also includes utilities for merging and querying dex files, all visible to the dx command line application. In a follow up change I'll move the new com.android.dex package into the libcore/ project, and configure build rules so that it's included in both dx.jar and core.jar. The core.jar will then be able to use it for annotation processing. Change-Id: I3c58cf87e728e4dda1925a0992c1ee7b8130e81a (cherry picked from commit bab4abb07335d162ecdb8091fc395cf84803a580) Conflicts: dx/junit-tests/com/android/dx/util/BitIntSetTest.java dx/junit-tests/com/android/dx/util/BitsTest.java dx/junit-tests/com/android/dx/util/IntListTest.java dx/junit-tests/com/android/dx/util/ListIntSetTest.java dx/src/com/android/dex/Dex.java dx/src/com/android/dex/TableOfContents.java dx/src/com/android/dx/annotations/AnnotationAccess.java dx/src/com/android/dx/command/Main.java dx/src/com/android/dx/dex/code/OutputFinisher.java dx/src/com/android/dx/dex/code/form/Form32s.java dx/src/com/android/dx/dex/code/form/Form33x.java dx/src/com/android/dx/dex/code/form/Form41c.java dx/src/com/android/dx/dex/code/form/Form52c.java dx/src/com/android/dx/gen/DexGenerator.java dx/src/com/android/dx/merge/DexMerger.java
|
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
|
081c7142b29ccd6e1744b26e097b6a4d7c12f2bd |
|
04-Jan-2011 |
Jesse Wilson <jessewilson@google.com> |
New tool merge two dex files into one. This code isn't yet ready for general use, but I have booted a device using a core.jar from the product of a merge. In particular, I still need to better size the output dex. The motivation is to support incremental builds in dx. Given a "--incremental" flag, dx would create a dex file containing only those classes newer than the target .dex. Then it would merge that small .dex with the current .dex. Hopefully this yields a nice speedup over dexing everything. It would also be possible to use this to do parallel builds. We would manually partition the input files, dx them, and then merge the result together. Change-Id: I8997fb3c8bfe73b64ef38a7cb3d6456fbe799d0f
|