android热修复AndFix使用记录
16lz
2021-01-23
添加依赖
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这玩意的适配性感觉很不好;
更多相关文章
- Android之文件操作
- 拷贝的Android源码不能单独编译mmm命令提示找不到
- Android SDK目录下的各个文件夹的作用
- Android修改文件和文件夹权限
- android打开pdf ppt word excel chm html text 文件
- android pm 命令总结
- android加载文件的方式,路径的写法
- android中创建目录以及txt文件
- Android 指定(后缀名)格式文件扫描