我實際上有兩個相關的問題:proguard的蟻任務
- 可以在預定義的常量在任務聲明爲
<injar file="${build}/myjar.jar" />
擴大? - 如何在proguard中重用類路徑定義?我試圖實現的不是指定所需的全部庫。它們非常多,它們已經包含在具有特定id的ant類路徑中。
非常感謝。
Martin
我實際上有兩個相關的問題:proguard的蟻任務
<injar file="${build}/myjar.jar" />
擴大?非常感謝。
Martin
當然你可以使用Ant變量。但是從我的角度來看,這是比較容易寫的所有命令行選項進入proguard的任務體:
<taskdef resource="proguard/ant/task.properties" classpath="lib/proguard.jar" />
<proguard>
-libraryjars "${java.home}/lib/rt.jar"
-injars "${jar.name}"
-outjars build/temp.jar
-keep class test.Main { public static void main(java.lang.String[]); }
-dontwarn
-dontoptimize
-dontobfuscate
</proguard>
對於定義的類路徑轉換爲可納入ProGuard的定義,您可以將字符串使用Ant任務PathConvert。鏈接頁面上的第一個示例應該是您需要的。
更新:如何繞過路徑條目的報價已經在這裏找到答案:How to properly quote a path in an ant task?
要回答你的第一個問題,是的。像構建文件中那樣擴展變量是Ant的一個特性。它將與您使用的任何任務一起工作。
感謝您的回答。感謝您的幫助。 –
正如ProGuard所預期的那樣(至少4.6版本),PathConvert不會在文件名稱周圍添加引號,因此常規XML元素可能更安全地用於路徑規範。嵌入式ProGuard風格的其他選項確實更緊湊,更易讀。 –
我在描述解決方案報價問題的問題的答案中添加了一個鏈接。 – Robert