android 热补丁工具,Hotfix补丁工具报错排查步骤
1.遇到问题可以先通过常见问题页进行关键字搜索,或者使用云博士检索,一般都能命中相关的疑问。
2.首先需要正确安装Java环境且在JDK7或以上才能正常使用,JDK6及以下需要卸载,如是Windows系统,并将C盘中Windows\System32和Windows\SysWOW64文件夹下的java.exe, javaw.exe and javaws.exe文件删掉。注:环境变量要配置,也就是等同于Android开发环境,如第一次配置环境变量,重启一下电脑;java安装包需在官网下载正版。
3.MAC版本启动就崩溃,请将补丁工具移到“应用程序”目录下即可。
4.生成补丁报错,提示no any patchClasses,这是因为打包apk的时候开启了instant run,造成apk内部的构造与不开启有差异,致使打补丁时对比不出新旧包的差异,导致修复不成功,要在打包apk的时候关闭instant run,新旧包都要重新生成,然后再打补丁包,重新应用补丁。
5.生成补丁报错,提示没有资源差异等,解决办法:如没改动资源或so,可勾选不比较资源或so再次进行生成。
6.如对应用进行加固,需在加固前使用补丁工具进行加固。
7.如补丁工具在直接生成补丁过程时直接就崩溃,可能是工程中改了不能修改的部分,比如AndroidManifest清单文件,具体支持什么修复,可看Sophix是否支持任何代码和资源的修复?。
8.自工具3.2.1版本起,新增了检查初始化功能。快速接入时,初始化initialize放到manifest直接注册的Application的attachBaseContext中。
如有用到MutiDex,MultiDex.install(this)需要在initialize之前调用。
queryAndLoadNewPatch方法不能在attachBaseContext中。
快速和稳健接入都要:在initialize之前,不能调用非Android官方API类。
如使用了MutiDex,并开启了混淆,在混淆规则中添加如下://support库使用
-keepclassandroid.support.multidex.**{*;}
//androidx库使用
-keepclassandroidx.multidex.**{*;}
如使用kotlin,使用java语言写热修复初始化所在的Application类。原因:kotlin会自行先调用一个类。
如有其他插件往初始化之前插入代码,自行设置该插件不往初始化所在的Application类插代码。
如工具检查出的是匿名内部类,由于匿名内部类无法检查到具体类名,自行确定SophixStubApplication中无非系统API的使用,所以可以不勾选检查初始化。
9.初始化所在的Application,新旧包保持完全一致,不要有改动。
10.如开启了资源混淆resguard,需要将res/raw 和 res/mipmap下的xml资源需要keep住不做混淆。
11.如提示dex不支持,将minSdkVersion设置15~21任一值,重新生成新旧包,再生成补丁。
12.如是win10系统,上述问题定位完毕后,还是会有报错,修改一下程序兼容性或以管理员启动程序。
android 热补丁工具,Hotfix补丁工具报错排查步骤相关推荐
- 传Livy闭包head of empty list报错排查步骤
报错日志: 问题分析过程 1.报错各式各样的方法栈,但是终归于head of empty list,于是去看scala相关代码. 2.为什么List在为空的情况下,还要继续执行head方法呢,scal ...
- 金蝶客户端提示“您使用的管理软件存在版权问题”报错排查步骤
用了K3 12.3提示金蝶K3 WISE管理软件存在版权问题,但是系统是正版的,提示内容如下: 你使用的管理软件存在版权问题,为了保护你的合法权益,请与金蝶软件(中国)有限公司联系 有三种可能: 1. ...
- windows 2003 sp2补丁导致的isa各类报错问题:***无法连接 651报错等
公司服务器安全整改测评,发现isa服务器的系统是windows server 2003 sp1不满足安全需要.所以要进行sp2补丁升级.升级后发现原来发布到internet的服务器都无法连接,具体故障 ...
- dovecot vsz_limit参造成foxmail、outlook等客户端工具接收邮件有时候报错
问题:dovecot并发数造成foxmail.outlook等客户端工具接收邮件有时候报错,关闭客户端工具后又可以了. /var/log/maillog日志有大量的报错: mail dovecot: ...
- 微信分享到朋友圈的链接没有图片。开发工具中正常没有报错-解决方案
重要的话说三遍 一定要保证你写的程序调用的接口,在"微信开发工具"中正常没有报错 一定要保证你写的程序调用的接口,在"微信开发工具"中正常没有报错 一定要保证你 ...
- 微信开发者工具安装Vant weapp报错怎么办
微信开发者工具安装Vant weapp报错,可以尝试以下步骤:1. 检查是否安装了最新版本的微信开发者工具:2. 确认安装了Vant Weapp的最新版本:3. 清理微信开发者工具的缓存:4. 重新安 ...
- Android P使用pm install安装apk报错
Android P使用pm install安装apk报错 avc: denied { read } for scontext=u:r:system_server:s0 tcontext=u:objec ...
- Android Studio 升级 gradle:3.6.0 报错:Entry name 'xxx-xxx.xml' collided
Android Studio 升级 gradle:3.6.0 报错:Entry name 'xxx-xxx.xml' collided 删除掉目录中所有的build文件夹,重新Sync编译
- Android Notification通知RemoteView布局使用ConstraintLayout报错
Android Notification通知RemoteView布局使用ConstraintLayout报错:inflate error ? Notification的自定义布局是RemoteView ...
- ORACLE表有逻辑坏块时EXPDP导出报错排查
某用户反馈EXPDP导出脚本异常中断,接入排查后发现导出某表时报错,后台ALERT日志中也有相应报错:最终确认排查为逻辑坏块问题,经沟通得知为某个时间段的备份表,后续排除此表后重新设置EXPDP脚本, ...
最新文章
- Perl函数pack/unpack(二进制读写)
- 通过zookeeper连接hive beeline
- Typora markdown公式换行等号对齐_下了31个markdown编辑器,我就不信选不出一个好用的...
- go hive skynet_云风的skynet在国内外来看究竟算什么水平?可以一统国内游戏服务端框架吗?...
- C#使用七牛云存储上传下载文件、自定义回调
- 在Ubuntu Linux下安装Tomcat
- 编解码格式 -- AAC
- 小学生学计算机编程实例,用日常生活小例子来教孩子学编程
- android调用录音编程,Android 调用MediaRecorder录音
- SAP ABAP MOVE-CORRESPONDING ... TO ...的使用
- 游戏设计的艺术:一本透镜的书——第十六章 故事和游戏结构能用间接控制巧妙地联合起来
- Dubbo之服务导入流程解析
- 微型计算机可以配置,目前主流微型计算机的配置及选购的调查报告
- Blender 3D Architecture, Buildings, and Scenery
- Linux内核是什么?Linux内核是怎么工作的?
- 【工业控制】多变量动态矩阵预测控制(DMC)【含Matlab源码 1499期】
- 【hadoop系列】Hadoop HDFS命令
- 6、幻灯管理 - 后端功能开发 - 微擎小程序模块应用开发
- 谈谈JAVA程序的反编译
- Mybatis——主子表查询的Mapper