热更新robust

前言

Sophix收钱,Tinker能修复资源,robust只能修复代码。这期先弄robust,下期弄Tinker,之后是插件化。其实热修复跟插件化的原理是差不多的,只不过一个是新增加载,一个是替换。
网上关于热更新的资料很多,具体过程就不列出来了,总结下我遇到的问题。

高版本build:gradle报错

robust 0.4.99
com.android.tools.build:gradle:4.0.2(这里我用4.1一直报错)

读写权限

PatchManipulateImp里会有文件的复制操作,需要加权限。
同时 targetSdkVersion 30最好替换setTempPath跟setLocalPath的路径(context.getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS))
setTempPath是实际加载的代码路径,在官方demo中,他会把我们放在setLocalPath路径里的patch.jar拷贝成setTempPath路径里的patch_temp.jar。

xxx被另一程序占用

我这里签名打包,反复生产补丁跟apk的过程中,总会出现这个被占用的问题,手动关闭java.exe进程就可以了

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容