2014-05-15 96 views
0

我的應用程序有2個項目:配置ProGuard的優化庫項目(而不是主項目)

  • 一切庫項目(APP-abstract.jar)
  • 小啓動的項目,運行它,幷包括第三方庫

這樣我可以有不同版本的應用程序的啓動的幾個項目(谷歌播放/亞馬遜/片......)

臨blem:

我的一個小項目啓動的的,專門爲亞馬遜,具有「應用程序內-purchasing.jar」一libary,勉強80KB,需要到關閉所有的ProGuard優化

所以我不知道如何配置proguard,如果可能的話,僅對第一個項目進行優化

...因爲該項目被包含爲一個大的庫庫JAR我認爲這很容易實現,可能會操縱螞蟻腳本,因爲我的意思是,最後該應用程序有2個明確定義的部分:

  • app.jar,3MB
  • 亞馬遜-APP-billing.jar 80KB

也許是有可能在每個罐子運行ProGuard的兩倍,一個?

+0

您可以考慮使用gradle作爲構建工具:它具有「產品風味」內置功能,它似乎是您需要的預先準備。 – ben75

+0

Gradle的產品風味特徵實際上是我用我的結構實現的。但是,不管是否存在,問題都是一樣的:PROGUARD INSIDE ONE FLAVOR的輸入部分必須單獨模糊 – rupps

回答

0

您可以保存亞馬遜庫中的ProGuard-project.txt這些線,爲應用程序項目:

-keep class com.amazon.inapp.** { *; } 

這應該是足夠的亞馬遜,同時還允許其他代碼進行優化和混淆。

+1

不幸的是,使用Amazon In-App結算時,他們還需要關閉優化,如https://developer.amazon .com/post/TxHZ4VD3PRBCAV/Code-Obfuscation-for-the-the-Amazon-In-App-Purchasing-API.html << there。如果你不這樣做,Proguard崩潰帶來致命的錯誤:) – rupps