3

私はProGuardantタスクを使用していますが、ProGuard構成ファイルが巨大であることを除いて、すべてが素晴らしいです。また、タスクごとに異なるProGuard構成ファイルが使用され、個別の.proファイルにリファクタリングしたいコピー貼り付けがたくさんあります。

<taskdef resource="proguard/ant/task.properties" classpath="C:/Program Files/proguard4.7/lib/proguard.jar"/>
<target name="obfuscated_jar" depends="raw_jar">
    <proguard configuration="core.pro lib1.pro lib2.pro">
        <outjar path="prog_obfuscated.jar"/>
    </proguard>
</target>

上記は、複数の.proファイルを1つの大きなファイル名として扱うため、機能しません。私はアリとして知られているばかです、私は明白な何かを逃していますか?ありがとう!

4

3 に答える 3

5

-include実際の .pro ファイルを指すオプションを含む単一のメイン .pro ファイルを作成できます。

于 2012-05-08T09:02:16.663 に答える
1

この答えは素晴らしいものではありませんが、うまくいきます...

<taskdef resource="proguard/ant/task.properties" classpath="C:/Program Files/proguard4.7/lib/proguard.jar"/>
<target name="obfuscated_jar" depends="raw_jar">
    <concat destfile="proguard_temp.pro">
        <filelist dir="." files="core.pro,lib1.pro,lib2.pro"/>
    </concat>
    <proguard configuration="proguard_temp.pro">
        <outjar path="prog_obfuscated.jar"/>
    </proguard>
    <delete file="proguard_temp.pro"/>
</target>
于 2012-05-07T16:58:59.223 に答える
0

configuration属性で許可されているファイルは 1 つだけのようです。
Edited
And 属性は<proguard>要素でのみ許可されます。別の可能な解決策があります。Ant concat-taskを使用して構成ファイルを 1 つに連結し、この一時ファイルを<proguard configuration=""> 属性に渡します。


また、ProGuardTask-class を変更して、複数のファイルを引数として受け入れ、後でそれらを連結することもできます。Ant でも同じ結果が得られmacrodefます。

于 2012-05-07T07:53:11.823 に答える