欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > Android >内容正文

Android

【Android 逆向】类加载器 ClassLoader ( Android 的八种类加载器 | ClassLoader | BaseDexClassLoader | DexClassLoader )

发布时间:2025/6/17 Android 47 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【Android 逆向】类加载器 ClassLoader ( Android 的八种类加载器 | ClassLoader | BaseDexClassLoader | DexClassLoader ) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

  • 一、Android 类加载器
    • 1、ClassLoader 抽象类
    • 2、BootClassLoader
    • 3、BaseDexClassLoader
    • 4、PathClassLoader
    • 5、DexClassLoader
    • 5、SecureClassLoader
    • 6、URLClassLoader





一、Android 类加载器



Android 中的 类加载器 ClassLoader 继承结构 如下 :


1、ClassLoader 抽象类


ClassLoader 是抽象类 , 是所有 类加载器 ClassLoader 的父类 ;


2、BootClassLoader


BootClassLoader 是 ClassLoader 子类 , 与 Java 虚拟机中的 BootstrapClassLoader 启动类加载器 作用相同 , 用于加载 Java 核心类库 ;

BootClassLoader 是单例类 , 全局唯一 ;

BootClassLoader 是由 Java 代码实现的 , 这与 JVM 中的 启动类加载器 不同 ;


3、BaseDexClassLoader


加载 Dex 字节码文件的业务逻辑就是在 BaseDexClassLoader 中实现的 ;

BaseDexClassLoader 的 333 个子类 ,

  • InMemoryDexClassLoader
  • PathClassLoader
  • DexClassLoader

没有实现核心业务逻辑 , 只是调用父类的方法 , 进行不同类型的操作 ;


4、PathClassLoader


PathClassLoader 是 BaseDexClassLoader 子类 , 应用中的类 , 都是由 PathClassLoader 进行加载 ;

Android 系统相关的类 , 如 四大组件类 , Android 自带类 , 都是由 PathClassLoader 加载的 ;


5、DexClassLoader


DexClassLoader 是 BaseDexClassLoader 的子类 , 该类可以加载任意目录下的 DEX 或 JAR 格式的 字节码文件 ;

热修复 就是 加载 SD 卡中的 DEX 文件 , 插件化 也是加载 SD 卡中的 APK 文件中的 DEX 文件 ;

DexClassLoader 在 动态字节码技术 , 热修复 , 插件化 , DEX 加固 等方面使用广泛 ;


5、SecureClassLoader


SecureClassLoader 继承了 ClassLoader 抽象类 , 该类主要实现了一些权限相关的功能 ,


6、URLClassLoader


URLClassLoader 是 SecureClassLoader 的子类 , 其可以使用 url 路径加载 JAR 文件中的类 ;

总结

以上是生活随笔为你收集整理的【Android 逆向】类加载器 ClassLoader ( Android 的八种类加载器 | ClassLoader | BaseDexClassLoader | DexClassLoader )的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。