summaryrefslogtreecommitdiffstats
path: root/dalvik
diff options
context:
space:
mode:
authorCalin Juravle <calin@google.com>2014-08-06 20:04:34 +0100
committerCalin Juravle <calin@google.com>2014-08-11 18:04:32 +0100
commit813579d06877fed67c2c62054213d8efcff6d37b (patch)
tree01bae5290284ff3477cb4dd6d692015acedc6fec /dalvik
parent4ddaa41a0b03823742021992d2da86b78f5af034 (diff)
downloadlibcore-813579d06877fed67c2c62054213d8efcff6d37b.zip
libcore-813579d06877fed67c2c62054213d8efcff6d37b.tar.gz
libcore-813579d06877fed67c2c62054213d8efcff6d37b.tar.bz2
Use absolute path when opening dex files.
The device always sees absolute paths so this will be no-op but on host this enables testing with relative paths (which is much more convenient). Bug: 16644204 Bug: 16930747 (cherry picked from commit e05ad6f7a1e2e34db62587269a066d479dc8e0ad) Change-Id: I4855c7ffa1935a777e19f0f9842c0bd837818f07
Diffstat (limited to 'dalvik')
-rw-r--r--dalvik/src/main/java/dalvik/system/DexFile.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/dalvik/src/main/java/dalvik/system/DexFile.java b/dalvik/src/main/java/dalvik/system/DexFile.java
index 3965b81..7aeba87 100644
--- a/dalvik/src/main/java/dalvik/system/DexFile.java
+++ b/dalvik/src/main/java/dalvik/system/DexFile.java
@@ -281,6 +281,18 @@ public final class DexFile {
}
}
+
+ /*
+ * Open a DEX file. The value returned is a magic VM cookie. On
+ * failure, an IOException is thrown.
+ */
+ private static long openDexFile(String sourceName, String outputName, int flags) throws IOException {
+ // Use absolute paths to enable the use of relative paths when testing on host.
+ return openDexFileNative(new File(sourceName).getAbsolutePath(),
+ (outputName == null) ? null : new File(outputName).getAbsolutePath(),
+ flags);
+ }
+
private static native void closeDexFile(long cookie);
private static native Class defineClassNative(String name, ClassLoader loader, long cookie)
throws ClassNotFoundException, NoClassDefFoundError;
@@ -289,7 +301,7 @@ public final class DexFile {
* Open a DEX file. The value returned is a magic VM cookie. On
* failure, an IOException is thrown.
*/
- private static native long openDexFile(String sourceName, String outputName, int flags);
+ private static native long openDexFileNative(String sourceName, String outputName, int flags);
/**
* Returns true if the VM believes that the apk/jar file is out of date