diff options
author | Alex Light <allight@google.com> | 2016-03-29 16:02:16 -0700 |
---|---|---|
committer | Alex Light <allight@google.com> | 2016-03-31 15:09:21 -0700 |
commit | 558a4e9ca4290224819bfa413625fde17e98ed69 (patch) | |
tree | 07f620fba0b6cf02cc3ddd3e0df9ea8034ec1550 | |
parent | 796fe5399a161f870d94dd7fadf3c6100b1d1640 (diff) | |
download | dalvik-558a4e9ca4290224819bfa413625fde17e98ed69.tar.gz |
Support dex 37 for DexMerger
Make DexMerger take the largest dex-file version that is given.
Bug: 27538761
Bug: 27809626
(cherry picked from commit 3e7edcb6e2277e7311a2daaacebb0fa87b453d6f)
Change-Id: Iddca99477f5edbfc7b9cf3b3deda37fd84e4eeda
-rw-r--r-- | dx/src/com/android/dx/merge/DexMerger.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/dx/src/com/android/dx/merge/DexMerger.java b/dx/src/com/android/dx/merge/DexMerger.java index d7c021fd1..ea4cb2cf4 100644 --- a/dx/src/com/android/dx/merge/DexMerger.java +++ b/dx/src/com/android/dx/merge/DexMerger.java @@ -168,7 +168,7 @@ public final class DexMerger { contentsOut.header.size = 1; contentsOut.fileSize = dexOut.getLength(); contentsOut.computeSizesFromOffsets(); - contentsOut.writeHeader(headerOut); + contentsOut.writeHeader(headerOut, mergeApiLevels()); contentsOut.writeMap(mapListOut); // generate and write the hashes @@ -357,6 +357,17 @@ public final class DexMerger { } } + private int mergeApiLevels() { + int maxApi = -1; + for (int i = 0; i < dexes.length; i++) { + int dexMinApi = dexes[i].getTableOfContents().apiLevel; + if (maxApi < dexMinApi) { + maxApi = dexMinApi; + } + } + return maxApi; + } + private void mergeStringIds() { new IdMerger<String>(idsDefsOut) { @Override TableOfContents.Section getSection(TableOfContents tableOfContents) { |