Setup Thread's context ClassLoader and add image DexFiles to ClassLinker's boot classpath
Change-Id: I84337c69ff743c58be9e7125d17fcccb514614ef
diff --git a/src/runtime.cc b/src/runtime.cc
index c733bfe..b4c25d3 100644
--- a/src/runtime.cc
+++ b/src/runtime.cc
@@ -320,16 +320,17 @@
CHECK_EQ(self->GetState(), Thread::kNative);
JNIEnv* env = self->GetJniEnv();
- ScopedLocalRef<jclass> c(env, env->FindClass("java/lang/ClassLoader"));
- CHECK(c.get() != NULL);
- jmethodID mid = env->GetStaticMethodID(c.get(),
- "getSystemClassLoader", "()Ljava/lang/ClassLoader;");
- CHECK(mid != NULL);
- ScopedLocalRef<jobject> result(env, env->CallStaticObjectMethod(c.get(), mid));
- CHECK(result.get() != NULL);
+ ScopedLocalRef<jclass> ClassLoader_class(env, env->FindClass("java/lang/ClassLoader"));
+ CHECK(ClassLoader_class.get() != NULL);
+ jmethodID getSystemClassLoader = env->GetStaticMethodID(ClassLoader_class.get(),
+ "getSystemClassLoader",
+ "()Ljava/lang/ClassLoader;");
+ CHECK(getSystemClassLoader != NULL);
+ ScopedLocalRef<jobject> class_loader(env, env->CallStaticObjectMethod(ClassLoader_class.get(),
+ getSystemClassLoader));
+ CHECK(class_loader.get() != NULL);
- ClassLoader* class_loader = Decode<ClassLoader*>(env, result.get());
- Thread::Current()->SetClassLoaderOverride(class_loader);
+ Thread::Current()->SetClassLoaderOverride(Decode<ClassLoader*>(env, class_loader.get()));
}
void Runtime::Start() {