前情
最近正在学习Android 安全,为了巩固知识,我会在博客上把Android加固这一方面由浅入深全部总结出来,一直到在内存中加载dex结束。
1.类加载器
Android虚拟机在运行程序时,虚拟机需要把Class加载到内存中才行,完成这一加载工作的就是类加载器—ClassLoader。
一个运行的Android程序中至少有两个Classloader。打印代码如下:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int count = 0;
ClassLoader classLoader = getClassLoader();
if(classLoader!=null){
Log.i("MainActivity","classLoader"+count++ +":"+classLoader.toString());
while (classLoader.getParent()!=null){
classLoader = classLoader.getParent();
Log.i("MainActivity","classLoader"+count++ +":"+classLo