【Android 插件化】插件化简介 ( 组件化与插件化 ) 【Android 插件化】插件化原理 ( JVM 内存数据 | 类加载流程 ) 【Android 插件化】插件化原理 ( 类加载器 ) 【Android 插件化】“ 插桩式 “ 插件化框架 ( 原理与...
前置博客 : 【Android 安全】DEX 加密 ( Application 替换 | 分析 ContentProvider 组件中调用 getApplication() 获取的 Application )
在 BroadcastReceiver 中的 onReceive 方法中的 Context context 参数 , 打印出来是 android.app.ReceiverRestrictedContext 类型的 , 调用该对象的 getApplicationContext() 方法 , 获取的 Application......
在 Service 中调用 getApplication() 方法 , 获取 Application , 返回的是 Service 中的 private Application mApplication 成员 , 该成员在 Service 的 attach 方法中进行设置 ;
在 Activity 中调用 getApplication() 方法 , 获取 Application 的过程分析 ;
在开发时 , 希望 不侵入 Application , 不侵入原来的应用 ; 这里就需要涉及到将 代理 Application 替换成真实的 Application ;
最终生成的 app-signed-aligned.apk 签名后文件就是 dex 加密的安装包 , 该安装包中的 dex 文件无法被直接查看 ;
拷贝头文件与函数库到 代理 Application 依赖库中 , 拷贝到 src/main/cpp 目录下即可 ;
之前的博客中已经讲解了前两个步骤的操作 , 开始执行第三个步骤 , 将 系统加载的 Element[] dexElements 数组 与 我们自己的 Element[] dexElements 数组进行合并操作 ;...
参考 : 4.4.4_r1/xref/libcore/dalvik/src/main/java/dalvik/system/DexPathList.java