diff options
author | Colin Cross <ccross@android.com> | 2017-04-08 15:19:42 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-04-08 15:19:42 +0000 |
commit | 04ae4cc3fc6ddf0d823198a69ffd4ce85896228b (patch) | |
tree | 2df01c38cfe3f1df29a3c6a4586669ed3af787eb | |
parent | 9e84fb4b5c54ee5e97a044026dab39c7c1a452b2 (diff) | |
parent | bda1c3d6e4fcb57ee1b7f26cced4bf0655d5531d (diff) | |
download | smali-04ae4cc3fc6ddf0d823198a69ffd4ce85896228b.tar.gz |
Merge "Support dex version 38 in smali"
am: bda1c3d6e4
Change-Id: I84203913f655535637926e40d9f1c203738a5412
-rw-r--r-- | dexlib2/src/main/java/org/jf/dexlib2/dexbacked/raw/HeaderItem.java | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/raw/HeaderItem.java b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/raw/HeaderItem.java index 531ff461..2f3af4c3 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/raw/HeaderItem.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/raw/HeaderItem.java @@ -45,11 +45,12 @@ public class HeaderItem { /** * The magic numbers for dex files. * - * They are: "dex\n035\0" and "dex\n037\0". + * They are: "dex\n035\0", "dex\n037\0", and "dex\n038\0". */ public static final byte[][] MAGIC_VALUES= new byte[][] { new byte[]{0x64, 0x65, 0x78, 0x0a, 0x30, 0x33, 0x35, 0x00}, - new byte[]{0x64, 0x65, 0x78, 0x0a, 0x30, 0x33, 0x37, 0x00}}; + new byte[]{0x64, 0x65, 0x78, 0x0a, 0x30, 0x33, 0x37, 0x00}, + new byte[]{0x64, 0x65, 0x78, 0x0a, 0x30, 0x33, 0x38, 0x00}}; public static final int LITTLE_ENDIAN_TAG = 0x12345678; public static final int BIG_ENDIAN_TAG = 0x78563412; @@ -239,9 +240,12 @@ public class HeaderItem { if (api < 24) { // Prior to Android N we only support dex version 035. return HeaderItem.MAGIC_VALUES[0]; - } else { + } else if (api < 26) { // On android N and later we support dex version 037. return HeaderItem.MAGIC_VALUES[1]; + } else { + // On android O and later we support dex version 038. + return HeaderItem.MAGIC_VALUES[2]; } } @@ -261,7 +265,7 @@ public class HeaderItem { } } if (matches) { - return i==0?35:37; + return i==0?35:(i==1?37:38); } } return 0; |