Tencent / tinker

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

drawable下新增图片不使用newApk选项编译出来的补丁包无效,使用newApk有效 #1739

Closed coderloveryan closed 9 months ago

coderloveryan commented 9 months ago

异常类型:app运行时异常

手机型号:所有

手机系统版本:所有

tinker版本:1.9.25.3

gradle版本:6.7.1

是否使用热更新SDK: 否

系统:Mac

我自己测试使用tinkePatchFlavorRelease编译补丁包,只使用oldApk参数情况下dex、so都可以生效,但是drawable-xhdpi下新增了一个图片然后使用ImageView去展示这个图片,没有生效,日志增加了drawableId打印也有打印,查看tinkePatchFlavorRelease生成的新apk发现也没有生效。 但是使用assembleFlavorRelease编译出来的新apk没有问题,然后基于tinkePatchFlavorRelease命令传入oldApk以及newApk情况下生成的补丁包是有效的(只是在我已经将基线apk的R.txt文件传入applyResourceMapping参数的情况下依然报错applyResourceMapping问题)所以我将ignoreWarning改为true,但是我看建议ignoreWarning不要改为true。 大家有遇到同样问题的吗?
资源id也有打印,app也没崩溃但是就是图片没有展示。

coderloveryan commented 9 months ago

打开开发者选项,显示布局边界,查看了一下对应位置有符合图片宽高的ImageView,但是就是没有展示图片!

coderloveryan commented 9 months ago

找到原因了,重复执行tinkePatchFlavorRelease时需要执行gradlew clean,执行gradle clean之后再次执行生成的补丁包以及new apk测试没问题