diff options
| author | Adam Lesinski <adamlesinski@google.com> | 2014-08-15 21:47:05 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-08-15 21:23:40 +0000 |
| commit | 91348eb9572129c95fabf0c53e9a2be164224196 (patch) | |
| tree | a3937a06fc0a27a882471e634eb02281b52862e4 /core/java/android | |
| parent | 336eaae177d8c836549bc2a589ef16e72e772ef5 (diff) | |
| parent | 2cb761e3ddb9d68ab430013e9cd15ecaab9fbc62 (diff) | |
| download | frameworks_base-91348eb9572129c95fabf0c53e9a2be164224196.zip frameworks_base-91348eb9572129c95fabf0c53e9a2be164224196.tar.gz frameworks_base-91348eb9572129c95fabf0c53e9a2be164224196.tar.bz2 | |
Merge "Fix assumption about DynamicRefTable in aapt" into lmp-dev
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/app/LoadedApk.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/core/java/android/app/LoadedApk.java b/core/java/android/app/LoadedApk.java index fcfc1c4..e0c7816 100644 --- a/core/java/android/app/LoadedApk.java +++ b/core/java/android/app/LoadedApk.java @@ -40,6 +40,7 @@ import android.os.StrictMode; import android.os.Trace; import android.os.UserHandle; import android.util.AndroidRuntimeException; +import android.util.Log; import android.util.Slog; import android.util.SparseArray; import android.view.DisplayAdjustments; @@ -643,8 +644,17 @@ public final class LoadedApk { } private void rewriteRValues(ClassLoader cl, String packageName, int id) { + final Class<?> rClazz; + try { + rClazz = cl.loadClass(packageName + ".R"); + } catch (ClassNotFoundException e) { + // This is not necessarily an error, as some packages do not ship with resources + // (or they do not need rewriting). + Log.i(TAG, "Could not find R class for package '" + packageName + "'"); + return; + } + try { - final Class<?> rClazz = cl.loadClass(packageName + ".R"); Class<?>[] declaredClasses = rClazz.getDeclaredClasses(); for (Class<?> clazz : declaredClasses) { try { |
