class CustomClassLoader extends PathClassLoader {
@Override public Class> loadClass(String name) {
Log.d("ClLoading", "Loading " + name);
return super.loadClass(name);
}
}
Slide 29
Slide 29 text
CustomClassLoader cl = new CustomClassLoader(...);
Slide 30
Slide 30 text
CustomClassLoader cl = new CustomClassLoader(...);
// set java.lang.ClassLoader$SystemClassLoader.loader
Slide 31
Slide 31 text
CustomClassLoader cl = new CustomClassLoader(...);
// set java.lang.ClassLoader$SystemClassLoader.loader
Thread.currentThread().setContextClassLoader(cl)
Slide 32
Slide 32 text
CustomClassLoader cl = new CustomClassLoader(...);
// set java.lang.ClassLoader$SystemClassLoader.loader
Thread.currentThread().setContextClassLoader(cl)
ContextImpl
Slide 33
Slide 33 text
CustomClassLoader cl = new CustomClassLoader(...);
// set java.lang.ClassLoader$SystemClassLoader.loader
Thread.currentThread().setContextClassLoader(cl)
ContextImpl.mClassLoader
Slide 34
Slide 34 text
CustomClassLoader cl = new CustomClassLoader(...);
// set java.lang.ClassLoader$SystemClassLoader.loader
Thread.currentThread().setContextClassLoader(cl)
ContextImpl
Slide 35
Slide 35 text
CustomClassLoader cl = new CustomClassLoader(...);
// set java.lang.ClassLoader$SystemClassLoader.loader
Thread.currentThread().setContextClassLoader(cl)
ContextImpl.mPackageInfo
Slide 36
Slide 36 text
CustomClassLoader cl = new CustomClassLoader(...);
// set java.lang.ClassLoader$SystemClassLoader.loader
Thread.currentThread().setContextClassLoader(cl)
ContextImpl.mPackageInfo.mClassLoader