Tencent / tinker

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

补丁显示安装成功,但是代码不生效 #1608

Closed huangyin1109 closed 2 years ago

huangyin1109 commented 2 years ago

第一种操作:补丁显示安装成功后直接退出,重新打开app,进入需要修复的代码,成功修复。 第二种操作:补丁显示安装成功后不退出,直接进入原来有问题的代码模块,触发bug,然后再退出app。重新打开app后,再次进入原来有问题的代码,无法修复。

在目前在小米、华为手机上出现这个问题。

手机型号:小米 MIX2

手机系统版本:Android 9.0

tinker版本:1.9.14.17

系统: Mac

apk包采用网易易盾加固

对比了两种情况的log,发现都一样。。。 不知道是什么问题

srxffcc1 commented 2 years ago

Tinker.ClassLoaderAdder 搜索这个

scuzoutao commented 2 years ago

您好,问题解决了吗,我是对基准包打补丁就ok,只要用易盾加固,就不ok,两种case的日志也无区别

huangyin1109 commented 2 years ago

Tinker.ClassLoaderAdder

2021-12-03 19:46:05.282 32357-32357/? I/Tinker.ClassLoaderAdder: installDexes dexOptDir: /data/user/0/包名/tinker/patch-d7e719f1/odex, dex size:1 2021-12-03 19:46:05.285 32357-32357/? I/Tinker.ClassLoaderAdder: after loaded classloader: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/user/0/包名/tinker/patch-d7e719f1/dex/tinker_classN.apk", zip file "/data/app/包名-8SJQp1O5f8BN_uDeB9ddaQ==/base.apk"],nativeLibraryDirectories=[/data/app/包名-8SJQp1O5f8BN_uDeB9ddaQ==/lib/arm64, /data/app/包名-8SJQp1O5f8BN_uDeB9ddaQ==/base.apk!/lib/arm64-v8a, /system/lib64, /hw_product/lib64, /system/product/lib64, /prets/lib64]]], dex size:1 2021-12-03 19:46:05.285 32357-32357/? I/Tinker.ClassLoaderAdder: checkDexInstall result: true, checker_classloader: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/user/0/包名/tinker/patch-d7e719f1/dex/tinker_classN.apk", zip file "/data/app/包名-8SJQp1O5f8BN_uDeB9ddaQ==/base.apk"],nativeLibraryDirectories=[/data/app/包名-8SJQp1O5f8BN_uDeB9ddaQ==/lib/arm64, /data/app/包名-8SJQp1O5f8BN_uDeB9ddaQ==/base.apk!/lib/arm64-v8a, /system/lib64, /hw_product/lib64, /system/product/lib64, /prets/lib64]]]

这是失败的日志

huangyin1109 commented 2 years ago

您好,问题解决了吗,我是对基准包打补丁就ok,只要用易盾加固,就不ok,两种case的日志也无区别

没呢 ,感觉问题越来越多,现在基本不能打补丁

scuzoutao commented 2 years ago

您好,问题解决了吗,我是对基准包打补丁就ok,只要用易盾加固,就不ok,两种case的日志也无区别

没呢 ,感觉问题越来越多,现在基本不能打补丁

我这边解决了,是网易易盾加固云配置上,开启了dex保护,会与tinker冲突,让易盾的人修改了配置之后就行了