diff options
Diffstat (limited to 'core/java/android/app/LoadedApk.java')
| -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 { |
