Tinker初始化问题

Tinker初始化问题

将patch包push到手机里后,点击按钮出现崩溃。查看日志如下:

http://img1.sycdn.imooc.com//climg/5e7f6d040910798a10360531.jpg

第2行是一个引用:import androidx.appcompat.app.AppCompatActivity;
第36行是

http://img1.sycdn.imooc.com//climg/5e7f6d4e09ffcf4e12390353.jpg

MyApplicationLike类里初始化tinker是视频里的:

http://img1.sycdn.imooc.com//climg/5e7f6d9a0907a7a210800674.jpg

但不知道为啥会出错

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

你打个log看一下onBaseContextAttached有没有被执行到。是不 是Application没有注册。祝:学习愉快

  • kilter 提问者 #1
    在manifest中注册MyApplication后,安装release包会闪退。log 如下: java.lang.RuntimeException: Unable to instantiate application com.example.tinkerdemo.MyApplication: b.a.a.b.a: Tinker Exception:createDelegate failed Caused by: b.a.a.b.a: Tinker Exception:createDelegate failed Caused by: java.lang.ClassNotFoundException: com.example.tinkerdemo.MyApplicationLike Caused by: java.lang.ClassNotFoundException: com.example.tinkerdemo.MyApplicationLike Caused by: b.a.a.b.a: Tinker Exception:createDelegate failed Caused by: java.lang.ClassNotFoundException: com.example.tinkerdemo.MyApplicationLike Caused by: java.lang.ClassNotFoundException: com.example.tinkerdemo.MyApplicationLike
    2020-03-30 10:41:38
  • 好帮手慕雪 回复 提问者 kilter #2
    com.example.tinkerdemo.MyApplicationLike是 extends Application了吗?还是你写的路径不对呢
    2020-03-30 14:53:13
  • kilter 提问者 回复 好帮手慕雪 #3
    路径没有问题,继承也没有问题。我降低了gradle版本后,问题没有复现了。但是现在tinker会修复失败。我试了老师的源码和我的是同样的错误。 运行环境是华为P30pro,EMUI10.0.0 , android-10
    2020-03-31 09:43:42
提问者 kilter 2020-03-31 09:48:09

LOG如下:


2020-03-31 09:29:03.863 13109-13137/? W/Tinker.ResDiffPatchInternal: resource file /data/user/0/com.example.tinkerdemo/tinker/patch-ff9a0cb8/res/resources.apk is already exist, and md5 match, just return true

2020-03-31 09:29:03.864 13109-13137/? I/Tinker.ResDiffPatchInternal: recover resource result:true, cost:6

2020-03-31 09:29:03.864 13109-13137/? I/Tinker.DexDiffPatchInternal: raw dex count: 2, dex opt dex count: 1, final wait times: 16

2020-03-31 09:29:03.864 13109-13137/? E/Tinker.DexDiffPatchInternal: parallel dex optimizer file tinker_classN.odex is not exist, just wait 1 times

2020-03-31 09:29:18.865 13109-13137/? E/Tinker.DexDiffPatchInternal: parallel dex optimizer file tinker_classN.odex is not exist, just wait 2 times

2020-03-31 09:29:33.866 13109-13137/? E/Tinker.DexDiffPatchInternal: parallel dex optimizer file tinker_classN.odex is not exist, just wait 3 times

2020-03-31 09:29:48.867 13109-13137/? E/Tinker.DexDiffPatchInternal: parallel dex optimizer file tinker_classN.odex is not exist, just wait 4 times

2020-03-31 09:30:03.868 13109-13137/? E/Tinker.DexDiffPatchInternal: parallel dex optimizer file tinker_classN.odex is not exist, just wait 5 times

2020-03-31 09:30:03.972 13042-13042/? D/Tinker.DefaultAppLike: onTrimMemory level:20

2020-03-31 09:30:18.869 13109-13137/? E/Tinker.DexDiffPatchInternal: parallel dex optimizer file tinker_classN.odex is not exist, just wait 6 times

2020-03-31 09:30:33.871 13109-13137/? E/Tinker.DexDiffPatchInternal: parallel dex optimizer file tinker_classN.odex is not exist, just wait 7 times

2020-03-31 09:30:48.873 13109-13137/? E/Tinker.DexDiffPatchInternal: parallel dex optimizer file tinker_classN.odex is not exist, just wait 8 times

2020-03-31 09:31:03.874 13109-13137/? E/Tinker.DexDiffPatchInternal: parallel dex optimizer file tinker_classN.odex is not exist, just wait 9 times

2020-03-31 09:31:18.875 13109-13137/? E/Tinker.DexDiffPatchInternal: parallel dex optimizer file tinker_classN.odex is not exist, just wait 10 times

2020-03-31 09:31:33.876 13109-13137/? E/Tinker.DexDiffPatchInternal: parallel dex optimizer file tinker_classN.odex is not exist, just wait 11 times

2020-03-31 09:31:48.877 13109-13137/? E/Tinker.DexDiffPatchInternal: parallel dex optimizer file tinker_classN.odex is not exist, just wait 12 times

2020-03-31 09:32:03.878 13109-13137/? E/Tinker.DexDiffPatchInternal: parallel dex optimizer file tinker_classN.odex is not exist, just wait 13 times

2020-03-31 09:32:18.878 13109-13137/? E/Tinker.DexDiffPatchInternal: parallel dex optimizer file tinker_classN.odex is not exist, just wait 14 times

2020-03-31 09:32:33.881 13109-13137/? E/Tinker.DexDiffPatchInternal: parallel dex optimizer file tinker_classN.odex is not exist, just wait 15 times

2020-03-31 09:32:48.882 13109-13137/? E/Tinker.DexDiffPatchInternal: parallel dex optimizer file tinker_classN.odex is not exist, just wait 16 times

2020-03-31 09:33:03.883 13109-13137/? I/Tinker.DexDiffPatchInternal: check dex optimizer file exist: /data/user/0/com.example.tinkerdemo/tinker/patch-ff9a0cb8/dex/oat/arm64/tinker_classN.odex, size 0

2020-03-31 09:33:03.884 13109-13137/? E/Tinker.DexDiffPatchInternal: final parallel dex optimizer file tinker_classN.odex is not exist, return false

2020-03-31 09:33:03.885 13109-13137/? I/Tinker.DefaultPatchReporter: patchReporter onPatchDexOptFail: dex opt fail path: /storage/emulated/0/patch_signed_7zip.apk, dex size: 1

2020-03-31 09:33:03.885 13109-13137/? E/Tinker.DefaultPatchReporter: onPatchDexOptFail:  com.tencent.tinker.loader.TinkerRuntimeException: Tinker Exception:checkDexOptExist failed

        at com.tencent.tinker.lib.b.d.a(Unknown Source:231)

        at com.tencent.tinker.lib.b.f.a(Unknown Source:576)

        at com.tencent.tinker.lib.service.TinkerPatchService.onHandleIntent(Unknown Source:123)

        at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:78)

        at android.os.Handler.dispatchMessage(Handler.java:107)

        at android.os.Looper.loop(Looper.java:213)

        at android.os.HandlerThread.run(HandlerThread.java:67)

2020-03-31 09:33:03.886 13109-13137/? E/Tinker.UpgradePatch: UpgradePatch tryPatch:new patch recover, check dex opt file failed

2020-03-31 09:33:03.886 13109-13137/? I/Tinker.DefaultPatchReporter: patchReporter onPatchResult: patch all result path: /storage/emulated/0/patch_signed_7zip.apk, success: false, cost: 240084

2020-03-31 09:33:03.912 13042-16811/? I/Tinker.DefaultTinkerResultService: DefaultTinkerResultService received a result:

    PatchResult: 

    isSuccess:false

    rawPatchFilePath:/storage/emulated/0/patch_signed_7zip.apk

    costTime:240084

    patchVersion:ff9a0cb86a09136256695bff8d5ae0bf


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师