Proguard保留R类

时间:2013-04-03 22:38:46

标签: android proguard

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

有谁知道手段是什么,如果有,我怎么能做到这一点?

更新

我尝试了很多不同的选项,我仍然从Amazon的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>;
}

1 个答案:

答案 0 :(得分: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