我正在将亚马逊的广告整合到我的应用中,并使用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>;
}
答案 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