如何使用仅优化设置调用ProGuard,即使对于蚂蚁调试版本也是如此?

时间:2014-01-06 21:56:01

标签: android optimization ant proguard build.xml

在使用ant debug创建调试apk时,我想将ProGruad用于我的开源Android应用。我只使用ProGuard的优化,不使用任何代码混淆设置,即基本上是$ANDROID_HOME/tools/proguard/proguard-android-optimize.txt的ProGuard配置。

但是,-obfuscate目标禁用了在Android build.xml中执行debug任务的ProGuard调用。我该如何启用它?

1 个答案:

答案 0 :(得分:2)

为了配置Android ant构建系统以使用debug版本调用proguard,需要设置两个变量:proguard.enabledout.dex.jar.input.ref

以下是示例配置。将custom_rules.xml文件直接放在项目根目录中。

<强> custom_rules.xml

<project name="android_rules" default="debug">
  <!-- Zap debug-obfuscation-check from SDK's build.xml so that it
       can't set proguard.enabled to false !-->
  <target name="-debug-obfuscation-check"/>
  <target name="-pre-build">
    <condition property="proguard.enabled" value="true" else="false">
      <isset property="proguard.config" />
    </condition>
    <if condition="${proguard.enabled}">
      <then>
    <echo level="info">Proguard.config is enabled</echo>
    <!-- Secondary dx input (jar files) is empty since all the
             jar files will be in the obfuscated jar -->
    <path id="out.dex.jar.input.ref" />
      </then>
      <else>
    <echo level="info">Proguard.config is disabled</echo>
      </else>
    </if>
  </target>
</project>