//首先集成阿里的AndFix插件//为了即时生效不支持资源修复,只适合代码错误,不能达到100%成功率
implementation 'com.alipay.euler:andfix:0.4.0@aar'
//创建自己的Myapplication继承application,配置清单文件,加SD卡的权限
在onCreate()实现下面的步骤
1.Initialize PatchManager,//初始化包管理者
patchManager = new PatchManager(context); patchManager.init(appversion);//current version
2.Load patch,//获取当前路径
patchManager.loadPatch();
3.Add patch,添加下载fixapp.apatch文件
patchManager.addPatch(path);//path of the patch file that was downloaded
val patchManager = PatchManager(this);
patchManager.init("1.0");//current version
patchManager.loadPatch();
var pathFile= File(Environment.getExternalStorageState(),"fixapp.apatch")
if(pathFile.exists()){
patchManager.addPatch(pathFile.absolutePath);//path of the patch file that was downloaded合并补丁文件
}
一 发布出了错误的bug.apk
1.发现bug后修改
二从新打包new.apk
三通过阿里的andfix插件对比bug.apk和new.apk生成fixapk.aptach文件
-f =new.apk
-t =bug.apk
-o=输出目录
-k =release.keystore
-p =密码
-a =别名
-e=密码
usage: apkpatch -f <new> -t <old> -o <output> -k <keystore> -p <***> -a <alias> -e <***>
-a,--alias <alias> keystore entry alias.
-e,--epassword <***> keystore entry password.
-f,--from <loc> new Apk file path.
-k,--keystore <loc> keystore path.
-n,--name <name> patch name.
-o,--out <dir> output dir.
-p,--kpassword <***> keystore password.
-t,--to <loc> old Apk file path.