如何在其他项目作为库的android中集成proguard?

时间:2016-06-23 08:45:01

标签: android spring proguard

我正在尝试在我的应用程序中启用proguard, 它使用我的其他项目作为库, 图书馆项目有许多第三方文库,如spring,

在使用proguard生成已签名的apk时,它为我提供了从库项目的R $ id找不到的参考,

我不能将库项目排除在混淆之外......

帮帮我...... 从1周开始就坚持了......

2 个答案:

答案 0 :(得分:0)

为了正常运行,大多数项目都会包含他们需要添加的ProGuard规则列表。

如果他们不这样做,你需要发挥一些打击和失误,直到你得到一个良好的编译(和体面的减少)。

您使用此默认规则集吗?

proguardFiles getDefaultProguardFile("proguard-android-optimize.txt")

其中包含一系列规则,涵盖Android应用的所有基本要求。然后,您可以在其他配置文件中添加自己的规则:

proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard.cfg"

如果您收到与R相关的错误,那么您可能没有运行正确的基本配置。

例如,在proguard-android-optimize.txt中,它确保正确维护R

-keepclassmembers class **.R$* {
    public static <fields>;
}

答案 1 :(得分:0)

您应该为您使用的所有库添加规则。 这是Spring的文章 一些有用的信息here 如果这是你的项目,你可以保留一切

-keep class com.example.project.** { *; }
-dontwarn class com.example.project.**