1

SBT Android Plugin では、proguardTask に値がありますproguardInJars
私の簡単なテスト プロジェクトでは、C:\Users\Administrator\.sbt\boot\scala-2.9.1\lib\scala-library.jar.

次に、自分でコンパイルしたクラスと組み合わせて別の値にしますinJars

ただし、それに何かを追加することで結合されます。これを行う jberkel/android-plugin のコードは次のとおりです。

val manifestr = List("!META-INF/MANIFEST.MF", "R.class", "R$*.class", "TR.class", "TR$.class", "library.properties")
val sep = JFile.pathSeparator
val inJars = ("\"" + classDirectory.absolutePath + "\"") +: proguardInJars.map("\"" + _ + "\""+manifestr.mkString("(", ",!**/", ")"))

その追加されたもののセマンティクスを誰かが知っているのではないかと思っています。
また、個別の値に分割した場合、問題なく実行するために、inJarsそのマニフェストを追加する必要がありますか?proguardInJarsproguardTask

4

1 に答える 1

1

Android プラグインはinjars、その時点で ProGuard のコマンド ライン引数を準備しています。ProGuard は、一般化されたクラスパスを使用して、jar 内のファイル マッチャーの形式で、jar 内のどのファイルを考慮し、どのファイルを考慮しないかを判断します。

たとえば、/で始まる.../scala-library.jar(!META-INF/MANIFEST.MF,!**/R.class,!**/R$*.class,!**/TR.class,!**/TR$.class,!**/library.properties)ファイルまたはクラスファイルは ( ) 入力として考慮されるべきではないことを意味します。R/TR.classR$TR$!

ここを参照してください:

http://proguard.sourceforge.net/index.html#manual/usage.html

をクリックしclass_pathて、ProGuard が使用する一般化されたクラスパス形式の詳細を表示します。

于 2012-07-04T09:56:38.320 に答える