为Proguard指定类名以避免混淆

时间:2014-06-27 11:17:29

标签: android proguard

我在ProGuard中看到,您可以指定在混淆时使用的名称字典(这些字典可以在字段/方法,类或包级别)。

有没有办法给它一个特别不混淆的名字列表?我尝试在字典中放一个,但这似乎不起作用。作为一个上下文,我认为主要是不要将类名称混淆为r以避免与Android生成的R类冲突。

顺便说一下,值得查看ProGuard发行版中的示例词典(例子/词典/) - 最后两个真的让我笑了!

3 个答案:

答案 0 :(得分:0)

-keep class com.company.package.SomeClass

答案 1 :(得分:0)

我在寻找同样的事情时偶然发现了这个问题。

这不回答核心问题,
但对于您的用例,将其添加到proguard-project.txt应该足够了:

-keep public class **.R {
  public *;
}

-keep public class **.R$* {
  public *;
}

答案 2 :(得分:0)

ProGuard已经避免了字典之间的冲突或保留与否的冲突,因此您不需要任何特殊策略。如果您最终遇到冲突的类名,则可以将其报告为错误。