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

如何在android中集成proguard,并将其他项目作为库?,android,spring,proguard,Android,Spring,Proguard,我正在尝试在我的应用程序中启用proguard, 它使用我的另一个项目作为库, Library项目有很多第三方LIB,比如spring 在使用proguard生成签名的apk时,它提供了从库项目的R$id中找不到的引用 我不能从混淆中排除库项目 帮帮我。。 从一周开始,大多数项目都会包含一个ProGuard规则列表,需要添加这些规则才能正常运行 如果他们不这样做,你将需要玩一些击中和错过,直到你得到一个良好的编译(和体面的大小减少) 是否使用此默认规则集 proguardFiles getDef

我正在尝试在我的应用程序中启用proguard, 它使用我的另一个项目作为库, Library项目有很多第三方LIB,比如spring

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

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

帮帮我。。
从一周开始,大多数项目都会包含一个ProGuard规则列表,需要添加这些规则才能正常运行

如果他们不这样做,你将需要玩一些击中和错过,直到你得到一个良好的编译(和体面的大小减少)

是否使用此默认规则集

proguardFiles getDefaultProguardFile(“proguardandroid optimize.txt”)

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

proguardFiles getDefaultProguardFile(“proguardandroid optimize.txt”),“proguard.cfg”

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

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

-keepclassmembers class **.R$* {
    public static <fields>;
}
-keepclassmembers类**.R$*{
公共静态;
}

大多数项目都会包含一个ProGuard规则列表,它们需要添加这些规则才能正常运行

如果他们不这样做,你将需要玩一些击中和错过,直到你得到一个良好的编译(和体面的大小减少)

是否使用此默认规则集

proguardFiles getDefaultProguardFile(“proguardandroid optimize.txt”)

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

proguardFiles getDefaultProguardFile(“proguardandroid optimize.txt”),“proguard.cfg”

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

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

-keepclassmembers class **.R$* {
    public static <fields>;
}
-keepclassmembers类**.R$*{
公共静态;
}

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

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

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

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

我必须在库项目中添加规则,还是只在我的主应用程序中添加规则?这两种方式都可以。在库项目中放置特定于库的规则是很好的。然而,如果您愿意,您可以将它们全部放在主项目中。当我在proguard-android-optimize.txt中添加了与R相关的配置时,它解决了我在R$id中找不到参考的问题,现在我得到了与警告相关的问题:org.springframework.core.convert.support.ConvertingPropertyEditorAdapter:找不到超类或接口java.beans.PropertyEditorSupport可能需要保留很长的内容列表。我不会引导你通过所有这些。长话短说,如果要打开ProGuard,您需要仔细阅读它。您将特别需要阅读
-keep xxx
-dontwarn xxx
。在最新的例子中,保留类
——保留类java.beans.PropertyEditorSupport
,可能就足够了。我必须在库项目中添加规则,还是只在我的主应用程序中添加规则?这两种方式都可以。在库项目中放置特定于库的规则是很好的。然而,如果您愿意,您可以将它们全部放在主项目中。当我在proguard-android-optimize.txt中添加了与R相关的配置时,它解决了我在R$id中找不到参考的问题,现在我得到了与警告相关的问题:org.springframework.core.convert.support.ConvertingPropertyEditorAdapter:找不到超类或接口java.beans.PropertyEditorSupport可能需要保留很长的内容列表。我不会引导你通过所有这些。长话短说,如果要打开ProGuard,您需要仔细阅读它。您将特别需要阅读
-keep xxx
-dontwarn xxx
。在最新的例子中,保留类
-保留类java.beans.PropertyEditorSupport
,可能就足够了。Spring文章正在使用Maven,我没有使用Maven,Spring文章正在使用Maven,我没有使用Maven,