Android 如何从proguard生成中排除R*.class文件

Android 如何从proguard生成中排除R*.class文件,android,eclipse,scala,proguard,Android,Eclipse,Scala,Proguard,我离这里描述的方法还有一步之遥: 使用单个项目(而scala和android分别使用一个和一个项目) 我遇到了一个问题。使用此输入文件(参数)proguard: -injars bin;lib/scala-library.jar(!META-INF/MANIFEST.MF,!library.properties) -outjar lib/scandroid.jar -libraryjars lib/android.jar -dontwarn -dontoptimize -dontobfu

我离这里描述的方法还有一步之遥:

使用单个项目(而scala和android分别使用一个和一个项目)

我遇到了一个问题。使用此输入文件(参数)proguard:

-injars bin;lib/scala-library.jar(!META-INF/MANIFEST.MF,!library.properties)

-outjar lib/scandroid.jar

-libraryjars lib/android.jar

-dontwarn
-dontoptimize
-dontobfuscate
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers

-keepattributes Exceptions,InnerClasses,Signature,Deprecated,
                SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
-keep public class org.scala.jeb.** { public protected *; }
-keep public class org.xml.sax.EntityResolver { public protected *; }
Proguard成功构建了ScanRoid.jar,但是它似乎包含了android资源生成器生成和编译的R类。在本例中,它们位于bin/org/jeb/R*.class中。这不是我想要的。android dalvik转换器无法构建,因为它认为存在R类的副本(它在ScanRoid和R*.class文件中)。如何修改上面的proguard参数以从scandroid.jar中排除R*.class文件,从而使dalvik转换器满意?
编辑:我应该注意,我尝试添加;bin/org/jeb/R.class;等对于-libraryjars参数,这似乎只会导致它抱怨重复的类,此外,proguard还决定排除我的scala类文件。

文件过滤器**/*换句话说,这个留置权强制Proguard在模糊处理中保留除R.java文件以外的所有java文件

我使用这个选项。您可以从下面的链接中找到参考资料,并找到“完整的Android应用程序”。

-keepclassmembers类**.R$*{
公共静态;
}

我对proguard一窍不通-你可以尝试在proguard论坛上询问。你也许可以用另一种方法来解决这个问题。有没有办法让Eclipse将R文件生成的*.class文件放到另一个目录(除bin之外的其他目录)中?我有一个类似的问题,得到了回答。
-keepclassmembers class **.R$* {
    public static <fields>;
}