diff options
author | Yohann Roussel <yroussel@google.com> | 2016-05-17 18:00:18 +0200 |
---|---|---|
committer | Yohann Roussel <yroussel@google.com> | 2016-05-19 15:51:27 +0200 |
commit | 1247e62e916098962f95dcba3b49d84e5ace380b (patch) | |
tree | fdfe02803ceebfd76b11852283099e8ab70e76b4 | |
parent | cff666cb6d6bdd814276b18e9bd254aa53188d09 (diff) | |
download | multidex-nougat-bugfix-release.tar.gz |
Fix handling of suppressed exceptionandroid-cts-7.0_r9android-cts-7.0_r8android-cts-7.0_r7android-cts-7.0_r6android-cts-7.0_r5android-cts-7.0_r4android-cts-7.0_r33android-cts-7.0_r32android-cts-7.0_r31android-cts-7.0_r30android-cts-7.0_r3android-cts-7.0_r29android-cts-7.0_r28android-cts-7.0_r27android-cts-7.0_r26android-cts-7.0_r25android-cts-7.0_r24android-cts-7.0_r23android-cts-7.0_r22android-cts-7.0_r21android-cts-7.0_r20android-cts-7.0_r2android-cts-7.0_r19android-cts-7.0_r18android-cts-7.0_r17android-cts-7.0_r16android-cts-7.0_r15android-cts-7.0_r14android-cts-7.0_r13android-cts-7.0_r12android-cts-7.0_r11android-cts-7.0_r10android-cts-7.0_r1android-7.0.0_r9android-7.0.0_r8android-7.0.0_r7android-7.0.0_r6android-7.0.0_r5android-7.0.0_r4android-7.0.0_r36android-7.0.0_r35android-7.0.0_r34android-7.0.0_r33android-7.0.0_r32android-7.0.0_r31android-7.0.0_r30android-7.0.0_r3android-7.0.0_r29android-7.0.0_r28android-7.0.0_r27android-7.0.0_r24android-7.0.0_r21android-7.0.0_r19android-7.0.0_r17android-7.0.0_r15android-7.0.0_r14android-7.0.0_r13android-7.0.0_r12android-7.0.0_r11android-7.0.0_r10android-7.0.0_r1nougat-releasenougat-mr0.5-releasenougat-devnougat-cts-releasenougat-bugfix-release
On API 19 and 20, the library was trying to save "suppressed exceptions"
in the loader.dexElementsSuppressedExceptions but the field is not
there, it's in DexPathList, so the correct path is
loader.pathList.dexElementsSuppressedExceptions.
Bug: 28808797
(cherry picked from commit 74e66b8013b5b9002f67e53825c189a18597b1e8)
Change-Id: Ibd6e623d037a706a78c79eff47b17fe9a86fced2
-rw-r--r-- | library/src/android/support/multidex/MultiDex.java | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/library/src/android/support/multidex/MultiDex.java b/library/src/android/support/multidex/MultiDex.java index 1e04c19..982bfbf 100644 --- a/library/src/android/support/multidex/MultiDex.java +++ b/library/src/android/support/multidex/MultiDex.java @@ -425,9 +425,9 @@ public final class MultiDex { Log.w(TAG, "Exception in makeDexElement", e); } Field suppressedExceptionsField = - findField(loader, "dexElementsSuppressedExceptions"); + findField(dexPathList, "dexElementsSuppressedExceptions"); IOException[] dexElementsSuppressedExceptions = - (IOException[]) suppressedExceptionsField.get(loader); + (IOException[]) suppressedExceptionsField.get(dexPathList); if (dexElementsSuppressedExceptions == null) { dexElementsSuppressedExceptions = @@ -443,7 +443,7 @@ public final class MultiDex { dexElementsSuppressedExceptions = combined; } - suppressedExceptionsField.set(loader, dexElementsSuppressedExceptions); + suppressedExceptionsField.set(dexPathList, dexElementsSuppressedExceptions); } } |