summaryrefslogtreecommitdiffstats
path: root/core/java/android
diff options
context:
space:
mode:
authorAdam Lesinski <adamlesinski@google.com>2014-08-15 21:47:05 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-08-15 21:23:40 +0000
commit91348eb9572129c95fabf0c53e9a2be164224196 (patch)
treea3937a06fc0a27a882471e634eb02281b52862e4 /core/java/android
parent336eaae177d8c836549bc2a589ef16e72e772ef5 (diff)
parent2cb761e3ddb9d68ab430013e9cd15ecaab9fbc62 (diff)
downloadframeworks_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.java12
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 {