=======
在 Android热修复基础篇(一) 中我们讲了 热修复 的基本概念和四种常见热修复解决方案的原理,最后,我们会发现他们都有一个共同特点:那就是玩到最后都是对 dex 文件进行操作。
想要把 dex 文件玩明白,这篇文章你的读下去!!!
类加载过程中所用到的类
===========
- 如何查看 你调用的某个类 由哪个 classloader 加载?
ClassLoader mainClassLoader = MainActivity.class.getClassLoader();
ClassLoader appCompatClassLoader = AppCompatActivity.class.getClassLoader();
ClassLoader activityClassLoader = Activity.class.getClassLoader();
System.out.println("mainClassLoader -> " + mainClassLoader);
System.out.println("appCompatClassLoader -> " + appCompatClassLoader);
System.out.println("activityClassLoader -> " + activityClassLoader);
I/System.out: mainClassLoader -> dalvik.system.PathClassLoader[DexPathList[[zip file “/data/app/com.wust.jingdutiao-jnlJr4sTotwg6ttws9yYFw==/base.apk”],nativeLibraryDirectories=[/data/app/com.wust.jingdutiao-jnlJr4sTotwg6ttws9yYFw==/lib/arm64, /system/lib64, /product/lib64]]]
appCompatClassLoader -> dalvik.system.PathClassLoader[DexPathList[[zip file “/data/app/com.wust.jingdutiao-jnlJr4sTotwg6ttws9yYFw==/base.apk”],nativeLibraryDirectories=[/data/app/com