如何将混淆器集成到 android 有其他项目作为库?

How to integrating proguard in android having other project as library?

我正在尝试在我的应用程序中启用混淆器, 它使用我的其他项目作为库, 库项目有许多第 3 方库,如 spring、

在使用 proguard 生成签名的 apk 时,它给了我从库项目的 R$id 中找不到的引用,

我不能将库项目从混淆中排除...

帮帮我.. 坚持了 1 周...

大多数项目都会包含一个 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>;
}

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

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