在使用ant debug
创建调试apk时,我想将ProGruad用于我的开源Android应用。我只使用ProGuard的优化,不使用任何代码混淆设置,即基本上是$ANDROID_HOME/tools/proguard/proguard-android-optimize.txt
的ProGuard配置。
但是,-obfuscate
目标禁用了在Android build.xml
中执行debug
任务的ProGuard调用。我该如何启用它?
答案 0 :(得分:2)
为了配置Android ant构建系统以使用debug
版本调用proguard,需要设置两个变量:proguard.enabled
和out.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>