排除R * .class文件我是一個步驟就可以使這裏所描述的方法遠: Targeting Android with Scala 2.8 Trunk builds如何從ProGuard的構建
與單個項目工作(VS一個項目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的成功生成scandroid.jar,但是它似乎已包括該機器人資源生成器生成和編譯生成的R類。在這種情況下,它們位於bin/org/jeb/R * .class中。這不是我想要的。 android dalvik轉換器無法構建,因爲它認爲有R類的重複(它在scandroid和R * .class文件中)。我如何修改上面的proguard參數來從scandroid.jar中排除R * .class文件,這樣dalvik轉換器很快樂? 編輯:我應該注意到,我試圖添加; bin/org/jeb/R.class;等...到-libraryjars參數,並且似乎只會導致它抱怨重複的類,此外proguard決定也排除我的Scala類文件。
我不知道把我的頭爲proguard的頂部 - 你可以試着問上ProGuard的論壇在http://sourceforge.net/projects/proguard/forums/forum/182456。 你也許能夠以另一種方式解決這個問題。有沒有辦法讓Eclipse把R的東西生成的* .class文件放到不同的目錄(bin以外的東西)? – 2010-05-21 23:43:08
我有一個類似的問題,得到它回答[這裏](http://stackoverflow.com/questions/11325087/what-are-the-semantics-of-proguardinjars-in-sbt-android-plugin)。 – Lopina 2012-07-13 09:07:15