summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Carlstrom <bdc@google.com>2012-04-01 19:55:38 -0700
committerElliott Hughes <enh@google.com>2012-08-01 14:09:57 -0700
commit75245fcfe3555e4dd06939b9bae366fd3e43b658 (patch)
treedf8f4683bcefaed8b44cf9747b08b2fcb9cc54e9
parent8438df1f4e63f44b416da21b354ed42c582bd973 (diff)
downloadlibcore-75245fcfe3555e4dd06939b9bae366fd3e43b658.zip
libcore-75245fcfe3555e4dd06939b9bae366fd3e43b658.tar.gz
libcore-75245fcfe3555e4dd06939b9bae366fd3e43b658.tar.bz2
Include library path information in BaseDexClassLoader for better error reporting in Runtime.loadLibrary
(cherry-pick of b6a576f43f1c23bb92493590a04bf9c72f092438.) Change-Id: I6f34862327cf99d8c6f9a7e9aa3aeab47985969b
-rw-r--r--dalvik/src/main/java/dalvik/system/BaseDexClassLoader.java7
-rw-r--r--luni/src/main/java/java/lang/Runtime.java5
2 files changed, 9 insertions, 3 deletions
diff --git a/dalvik/src/main/java/dalvik/system/BaseDexClassLoader.java b/dalvik/src/main/java/dalvik/system/BaseDexClassLoader.java
index 5782fd9..62ec5e3 100644
--- a/dalvik/src/main/java/dalvik/system/BaseDexClassLoader.java
+++ b/dalvik/src/main/java/dalvik/system/BaseDexClassLoader.java
@@ -28,6 +28,9 @@ public class BaseDexClassLoader extends ClassLoader {
/** originally specified path (just used for {@code toString()}) */
private final String originalPath;
+ /** originally specified library path (just used for {@code toString()}) */
+ private final String originalLibraryPath;
+
/** structured lists of path elements */
private final DexPathList pathList;
@@ -49,6 +52,7 @@ public class BaseDexClassLoader extends ClassLoader {
super(parent);
this.originalPath = dexPath;
+ this.originalLibraryPath = libraryPath;
this.pathList =
new DexPathList(this, dexPath, libraryPath, optimizedDirectory);
}
@@ -123,6 +127,7 @@ public class BaseDexClassLoader extends ClassLoader {
@Override
public String toString() {
- return getClass().getName() + "[" + originalPath + "]";
+ return getClass().getName()
+ + "[dexPath=" + originalPath + ",libraryPath=" + originalLibraryPath + "]";
}
}
diff --git a/luni/src/main/java/java/lang/Runtime.java b/luni/src/main/java/java/lang/Runtime.java
index 320f157..efe2303 100644
--- a/luni/src/main/java/java/lang/Runtime.java
+++ b/luni/src/main/java/java/lang/Runtime.java
@@ -362,8 +362,9 @@ public class Runtime {
if (loader != null) {
String filename = loader.findLibrary(libraryName);
if (filename == null) {
- throw new UnsatisfiedLinkError("Couldn't load " + libraryName + ": " +
- "findLibrary returned null");
+ throw new UnsatisfiedLinkError("Couldn't load " + libraryName
+ + " from loader " + loader
+ + ": findLibrary returned null");
}
String error = nativeLoad(filename, loader);
if (error != null) {