我想用 Proguard 编译我的 Android 项目和一些额外的 Android 库项目。事实上,大部分代码和资源都在这些库中。
我已经在主项目的 project.properties 中添加了行“proguard.config=proguard.cfg”,我已经配置了 cfg 文件(-libraryjars ..\libs)。然后 - 右键单击,Android 工具 -> 导出签名的应用程序包。ADT 编译项目以供发布,但应用程序在第一次启动时崩溃:当我从日志中读取时,这是因为资源指针错误。
我反编译了项目,发现很奇怪:如果我在库中声明资源,那么它上面的资源指针就变成了0。
当我将行“proguard.config=proguard.cfg”添加到我所有的 Android 库项目的 project.properties 中时,问题并没有消失。
有什么解决办法吗?
编辑:查看 proguard.cfg 的片段:
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !
-printusage unused.txt
-optimizationpasses 2
-printmapping mapping.txt
# -overloadaggressively
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-dump class_files.txt
-printseeds seeds.txt
-libraryjars ..\libs