Tencent / tinker

Tinker is a hot-fix solution library for Android, it supports dex, library and resources update without reinstall apk.
Other
17.14k stars 3.33k forks source link

1.9.13 热修复补丁,360加固APK必闪退 #1091

Closed forJrking closed 5 years ago

forJrking commented 5 years ago

异常类型:app运行时异常

手机型号:VIVO x21A  和  一加 1

手机系统版本:Android 8.0 和 9.0

tinker版本:1.9.13

gradle版本:3.2.0

是否使用热更新SDK:Bugly SDK

系统:windows

堆栈/日志:
java.lang.IllegalAccessError: Illegal class access: 'com.xxx.xxx.activity.main.ACT_Main' attempting to access 'com.xxxx.xxxx.activity.main.ACT_Main$1' (declaration of 'com.xxxx.xxxx.activity.main.ACT_Main' appears in /data/user/0/com.xxxx.xxxx/tinker/patch-79d40ecc/dex/changed_classes1.dex.jar)
        at com.xxxx.xxxx.activity.main.ACT_Main.<init>(ACT_Main.java:553)
        at java.lang.Class.newInstance(Native Method)
        at android.app.Instrumentation.newActivity(Instrumentation.java:1179)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2851)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3047)
        at android.app.ActivityThread.-wrap11(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1745)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:192)
        at android.app.ActivityThread.main(ActivityThread.java:6778)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:875)

使用未加固包可以正常加载补丁,覆盖加固包安装也可以正常加载补丁。
因此结论:不兼容 360加固  不兼容 360加固  不兼容 360加固  各位小心别踩坑。
forJrking commented 5 years ago

使用的 bugly的SDK 目前发现 乐固加固也不行,更换tinker为1.9.9 正常使用

imliujun commented 5 years ago

昨天采坑了,赶紧撤回了补丁包

tys282000 commented 5 years ago

@forJrking 升级Tinker到1.9.13之后你的base包有重新编过吗?

forJrking commented 5 years ago

@tomystang 用 1.9.13打出的 base,然后加固测试热修复,发现崩溃。使用未加固就可以正常修复

tys282000 commented 5 years ago

@forJrking 再发下这次尝试的crash堆栈?因为1.9.13在art机器上应该不会出现changed_classes1.dex.jar这种合成产物了,所以之前我怀疑你可能没用对版本。

forJrking commented 5 years ago

@tomystang 近期测试还是发现这个问题,另外我们使用了AOP切片。

hanliuxin5 commented 5 years ago

我使用直接是 tinkerpatch,使用360加固后,可以成功合成启动。 tinker:1.9.13 tinkerpatch:1.2.13

forJrking commented 5 years ago

确认为 bugly 1.4.0 还没有兼容

jinpengnice commented 5 years ago

bugly 热修复 同样360加固之后闪退

fansangg commented 5 years ago

确认为 bugly 1.4.0 还没有兼容

bugly1.4.1 tinker 1.9.13 乐固加固一样闪退

imliujun commented 5 years ago

bugly1.4.1 tinker 1.9.13 360加固一样闪退