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

补丁包打不出,报错FileNotFoundException #1707

Open igottime opened 1 year ago

igottime commented 1 year ago

异常类型:编译异常

tinker版本:1.9.14.25.1

gradle版本:6.7.1

agp版本:4.2.2

as版本:Electric Eel | 2022.1.1 Patch 2

是否使用热更新SDK:否

系统:Win10

堆栈/日志: java.io.FileNotFoundException: *\build tmp\tinkerPatch appdebug res\aUX.png (系统找不到指定的文件)

发现一个问题。就是如果debuggable为false的话,打出来的apk的res下面的文件全都是混淆过的。如果是true就不会被混淆。猜测会不会和这个有关系。

后续--->

破案了。原因是此为Windows操作系统的限制,一些特定字符的组合不能用作文件、文件夹名。 如:aux、com1、com2、prn、con、nul 等,这些都是设备名,为系统保留。

appt2会对png进行路径缩短优化,此时恰好把某个文件重命名为aux.png。然后这个aux是windows的预留名称,所以这个图片就不能从apk中解压出来,导致出现上面的文件找不到的报错。大佬们看下怎么兼容这个场景。

NiuGuohui commented 1 year ago

+1

liyinyin commented 4 months ago

+1

jacklongway commented 4 months ago

您好!很高兴收到您的邮件,稍后查看。

canlan818 commented 4 months ago

这是来自QQ邮箱的自动回复邮件。您好,来信已收到,谢谢您,我会及时回复您的!O(∩_∩)O~