summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Light <allight@google.com>2016-03-29 16:02:16 -0700
committerAlex Light <allight@google.com>2016-03-31 15:09:21 -0700
commit558a4e9ca4290224819bfa413625fde17e98ed69 (patch)
tree07f620fba0b6cf02cc3ddd3e0df9ea8034ec1550
parent796fe5399a161f870d94dd7fadf3c6100b1d1640 (diff)
downloaddalvik-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.java13
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) {