1

我正在将亚马逊的广告集成到我的应用程序中,并且我使用 Proguard。他们告诉我,如果我使用 Proguard,我必须“确保 R 类在混淆过程中保留其名称”

有谁知道这意味着什么,如果是的话,我怎么能做到这一点?

更新

我已经尝试了很多不同的选项,但我仍然从亚马逊的 SDK 中得到一个错误,即我的资源被混淆了。我试过了:

-keepnames com.my.app.*.R;

-keeppackagenames com.my.app.*.R;

-keepclassmembers com.my.app.*.R;

-keep class com.my.app.*.R;

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

1 回答 1

0

Proguard 通过将所有类名和方法替换为 A、B、C、D 等来混淆您的代码。

要保留类名,请添加-keepnames到您的 proguard 文件中。

示例可能是-keepnames com.example.myproject.R

另请参阅此 SO 帖子:Proguard keep class names?

另请参阅 proguard 项目以了解有关它的作用以及可以使用哪些选项的更多信息:http: //proguard.sourceforge.net/#manual/introduction.html

于 2013-04-03T22:48:17.223 回答