summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Mathieu Chartier <mathieuc@google.com> 2015-11-20 10:29:42 -0800
committer Mathieu Chartier <mathieuc@google.com> 2015-11-20 10:35:18 -0800
commit689a700d1c8a7c9e7ce74e6a2b45dae94c79cb7c (patch)
treeb4ad3f6f77554a146656c5b575ffd5bd60613441
parent039404cb8d6b994e6fc247d287a0efa45c7362d4 (diff)
Pass DexPathList.Element array to openDexFileNative
App images will use this to check for conflicts. It is required to pass down since the class loader won't have the element array until after all of the elements in the dex path list are loaded. Bug: 22858531 Change-Id: I4f3d85b5e0ad542298fc8458bafe6504c263dc41
-rw-r--r--runtime/native/dalvik_system_DexFile.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/runtime/native/dalvik_system_DexFile.cc b/runtime/native/dalvik_system_DexFile.cc
index 4cd3c3d730..da6cf1f198 100644
--- a/runtime/native/dalvik_system_DexFile.cc
+++ b/runtime/native/dalvik_system_DexFile.cc
@@ -155,7 +155,9 @@ static jobject DexFile_openDexFileNative(JNIEnv* env,
jstring javaOutputName,
jint flags ATTRIBUTE_UNUSED,
// class_loader will be used for app images.
- jobject class_loader ATTRIBUTE_UNUSED) {
+ jobject class_loader ATTRIBUTE_UNUSED,
+ // dex_elements will be used for app images.
+ jobject dex_elements ATTRIBUTE_UNUSED) {
ScopedUtfChars sourceName(env, javaSourceName);
if (sourceName.c_str() == nullptr) {
return 0;
@@ -445,7 +447,12 @@ static JNINativeMethod gMethods[] = {
NATIVE_METHOD(DexFile, getDexOptNeeded,
"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)I"),
NATIVE_METHOD(DexFile, openDexFileNative,
- "(Ljava/lang/String;Ljava/lang/String;ILjava/lang/ClassLoader;)Ljava/lang/Object;"),
+ "(Ljava/lang/String;"
+ "Ljava/lang/String;"
+ "I"
+ "Ljava/lang/ClassLoader;"
+ "[Ldalvik/system/DexPathList$Element;"
+ ")Ljava/lang/Object;"),
};
void register_dalvik_system_DexFile(JNIEnv* env) {