如何将混淆器集成到 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.**
我正在尝试在我的应用程序中启用混淆器, 它使用我的其他项目作为库, 库项目有许多第 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.**