我有一个包含不同模块的 Android 应用程序。Main 模块使用了一些库,例如 Google 的 GSON 或 v4.support.package。带有正确 proguard.cfg 的自定义构建脚本也将构建它。现在我必须集成另一个使用部分相同库(GSON support.v4)的“Android-Library”。除了得到很多像
注意:程序类[com.google.gson.Gson]的重复定义
我也得到一些笔记,比如
[proguard] 注意:com.google.gson.UnsafeAllocator:找不到动态引用的类 sun.misc.Unsafe
[proguard] 注:配置参考未知类'sun.misc.Unsafe'
我觉得很奇怪,因为我的 Proguard.cfg 中有一些“保留”,特别是为此:
-keepattributes 签名、注释
-keep class com.google.gson.** {*;}
-保持类 sun.misc.Unsafe { *; }
它在我的项目中运行良好,无需引用其中的模块库。我在最新的 SDK 和工具上,并向模块库添加了一个自定义 proguard.cfg,它在模块库本身上运行良好(如果以独立模式构建)。在我看来,构建不依赖于库项目中的自定义 proguard.cfg。任何关于尝试什么的想法都非常感谢