1. onLoadPatchListenerReceiveFail code为-2
解决方案来源:热修复——Tinker的集成与使用
报错原文如下:
receive a patch file: /storage/emulated/0/patch_signed_7zip.apk, file size:4751
patch loadReporter onLoadPatchListenerReceiveFail: patch receive fail: /storage/emulated/0/patch_signed_7zip.apk, code: -2
出现这种情况,请按如下进行排查:
- 查看文件路径是否正常。
//关于/storage/emulated/0/patch_signed_7zip.apk
其中/storage/emulated/0/可通过Environment.getExternalStorageDirectory().getAbsolutePath();获取,
//是跟下面调用的方法的最后一个参数相对应
TinkerInstaller.onReceiveUpgradePatch(getApplicationContext(), Environment.getExternalStorageDirectory().getAbsolutePath() + "/patch_signed_7zip.apk");相对应的
- 查看清单文件中是否有添加SD卡访问权限。
- 如果你的手机是Android7.0请要考虑FileProvider(Android7.0不支持直接访问sd卡)。
2. Tinker does not support instant run mode,
Error:A problem occurred configuring project ':app'. > Tinker does not support instant run mode, please trigger build by assembleDebug or disable instant run in 'File->Settings...'.
解决办法:
去掉instance run
参考链接:https://www.aliyun.com/jiaocheng/11766.html
