
Android 插件化相关
阿里安
简书:https://www.jianshu.com/u/79a88a044955
Github:https://github.com/coding-dream
展开
-
热修复、热补丁与插件化
基础知识补充: 为什么需要分包: Android2.3及以前版本用来执行dexopt(用于优化dex文件)的内存只分配了5M, 一个dex文件最多只支持65536个方法 其实android中的分包,除了用dex分包还可以用插件化,即将一些独立的功能做成一个单独的apk,当打开的时候使用DexClassLoader动态加载,然后使用反射机制来调用插件中的类和方法。这固然是一种解决问题的方案:转载 2016-11-09 10:49:43 · 2163 阅读 · 0 评论 -
安卓App热补丁动态修复技术介绍
转自QQ 空间技术: https://zhuanlan.zhihu.com/p/20308548 1.背景 当一个App发布之后,突然发现了一个严重bug需要进行紧急修复,这时候公司各方就会忙得焦头烂额:重新打包App、测试、向各个应用市场和渠道换包、提示用户升级、用户下载、覆盖安装。有时候仅仅是为了修改了一行代码,也要付出巨大的成本进行换包和重新发布。 这时候就提出一个问题:有没有转载 2016-11-09 12:05:07 · 846 阅读 · 0 评论 -
Android动态加载补充 加载SD卡中的SO库
Android中JNI的使用其实就包含了动态加载,APP运行时动态加载.so库并通过JNI调用其封装好的方法。后者一般是使用NDK工具从C/C++代码编译而成,运行在Native层,效率会比执行在虚拟机的Java代码高很多,所以Android中经常通过动态加载.so库来完成一些对性能比较有需求的工作(比如T9搜索、或者Bitmap的解码、图片高斯模糊处理等)。此外,由于.so库是由C++编译而来的转载 2016-11-10 18:06:53 · 1582 阅读 · 0 评论 -
Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)
class文件简介及加载 Java编译器编译好Java文件之后,产生.class 文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机读取字节码文件,取出二进制数据,加载到内存中,解析.class 文件内的信息,生成对应的 Class对象: class字节码文件是根据JVM虚拟机规范中规转载 2016-11-11 16:05:57 · 996 阅读 · 0 评论 -
动态加载APK原理分享(dexmaker)
目录(?)[-] 项目地址httpsgithubcomhoukxandroid-pluginmgr 欢迎star and fork一 综述二功能介绍ps第一个插件代码来自 httpsgithubcomviacheslavtitovNDKBegining作者是个老外不过也比较粗心要正常运行你需要在sd卡下创建目录FFMPEG第二个插件代码来自这篇博文httpblogcsdnnetcaihany转载 2016-11-11 18:04:13 · 1450 阅读 · 0 评论 -
android-plugmgr原理
android-plugmgr是一个Android插件加载框架,它最大的特点就是对插件不需要进行任何约束。关于这个类库的介绍见作者博客,市面上也有一些插件加载框架,但是感觉没有这个好。在这篇文章中,我们将不仅止于原理,对源代码的具体实现进行分析。文章中涉及的代码可从https://github.com/kissazi2/AndroidDemo/tree/master/PlugLoadDemo下载,转载 2016-11-17 17:11:51 · 1156 阅读 · 0 评论 -
Java ClassLoader基础及加载不同依赖 Jar 中的公共类
1. ClassLoader 的基础知识 无论是 JVM 还是 Dalvik 都是通过 ClassLoader 去加载所需要的类,而 ClassLoader 加载类的方式常称为双亲委托,ClassLoader.java 具体代码如下: Java 1234567891011121314151617protected Class> loadCl转载 2016-11-17 17:22:43 · 838 阅读 · 0 评论 -
代理 ACTIVITY 模式(资源加载的问题)
简单模式中,使用 ClassLoader 加载外部的 Dex 或 Apk 文件,可以加载一些本地 APP 不存在的类(或者更新本地已存在的类),从而执行一些新的代码逻辑,但是使用这种方法却不能直接启动插件里的 Activity 等组件,也没办法使用 res 资源,如果不解决这两个问题,则使用插件化的方式开发 Android 业务会非常繁琐。 基本信息 Author : KaedeI转载 2016-11-17 18:34:39 · 1116 阅读 · 0 评论 -
Android中的ClassLoader与dex文件加密实现分析
Android中的ClassLoader BaseDexClassLoader Dex类加载器的基类,包含Dex类加载器之间通用功能的实现。 DexClassLoader A class loader that loads classes from .jar and .apk files containing a classes.dex entry. This ca转载 2016-11-18 10:38:37 · 1435 阅读 · 0 评论