Enforce determinism in ClassDef section

The dex file format is only enforcing a partial order.
Up to now some order was enforced by VirtualFile.sortClassesByPackage
but it was ommitting main dex list classes and top level package
classes.

This is enforcing the same kind of secondary order as in DX.

Also fixes tests classes synthesized by test many-classes and
two-large-classes.

Change-Id: I1751d56472c274f083c239a5470567ce34b76d22
4 files changed
tree: 7e4e5becc387cb10566813f47c3467e6ef742821
  1. buildSrc/
  2. scripts/
  3. src/
  4. tests/
  5. third_party/
  6. tools/
  7. .gitignore
  8. AUTHORS
  9. build.gradle
  10. codereview.settings
  11. CONTRIBUTING.md
  12. copyAdditionalJctfCommonFiles.gradle
  13. LICENSE
  14. README.md
README.md

The R8 repo contains two tools.

  1. D8 is a dexer that converts java byte code to dex code.

  2. R8 is a java program shrinking and minification tool.