2014-05-15 151 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