android热修复AndFix使用记录

来源:互联网 发布:英语口语网络课程 编辑:程序博客网 时间:2024/06/11 06:08

添加依赖 

    compile 'com.alipay.euler:andfix:0.4.0@aar'

github : 

    https://github.com/alibaba/AndFix





1. 首先 , 在Application的onCreate中初始化

patchManager = new PatchManager(this);            String version_name = getPackageManager().getPackageInfo(getPackageName(),0).versionName;            patchManager.init(version_name);
其中pacthManager是一个PatchManager的实例 , 在Application中定义为一个static变量, 供外部使用;



2. 然后接着写下边的方法, 是为了加载已经下载过的补丁文件

patchManager.loadPatch();



3. 初始化完成后 , 这时候就要写自己的加载补丁的逻辑代码了 ; 比如启动app后,去自己服务器获取,是否有补丁文件需要下载,如果有并且下载到本地完毕后,执行下边代码,就会将补丁生效了 .

patchManager.addPatch(file.getAbsolutePath());
其中file就是下载的补丁文件.




4. 生成.apatch补丁文件

下载生成补丁的工具 : 这里 , 然后解压打开后有三个文件 ,一个.sh,一个.bat,一个.jar, linux和mac使用.sh命令文件, windows使用.bat命令文件 ; 执行命令前需要准备原来的有bug的apk和新的bug修复的apk还要签名文件 , 两个apk文件都需要是release版本且签名与命令中使用的签名文件一致 , 命令如下(mac电脑中)

./apkpatch.sh 
-f fix.apk                               //修复完毕的apk文件
-t bug.apk //有bug的apk文件
-o ./ //补丁文件输出路径  : 当前目录
-k key.keystore //签名文件
-p 123456 //签名文件密码
-a alias //签名文件alias
-e 123456//签名文件alias的密码
执行后,会生成几个文件和文件夹,其中有用的就是以.apatch结尾的,这个就是补丁文件,需要给服务器让app去下载;
5. 研究AndFix的时候用得自己正在使用的手机, 当demo完成安装打开测试的时候,老是崩溃,发现是c++文件中出了问题,然后又换了一个小米手机就又正常了,AndFix这玩意的适配性感觉很不好;






1 0
原创粉丝点击