我有一个标准的android生成的构建脚本。我的custom_rules.xml
构建脚本。
<project>
<target name="-minify" >
// More code here
</target>
<target name="-modify-index-html" >
// More code here
</target>
<target name="-post-compile" depends="-minify"/>
<target name="-post-package" depends="-modify-index-html"/>
</project>
问题是我不希望在运行debug
构建时运行目标-minify
和-modify-index-html
。事实上,它们必须仅在运行release
目标时才运行。
好的,我终于找到了解决方案。
我的两个自定义目标都将在-set-release-mode
运行后执行(在发布的情况下)。所以,它来了:-
<target name="-minify" if="isReleaseTarget">
...
</target>
<target name="-modify-index-html" if="isReleaseTarget">
...
</target>
<target name="-set-release-mode" depends="android_rules.-set-release-mode">
<property name="isReleaseTarget" value="true"/>
</target>
请注意,我覆盖了android提供的-set-release-mode
目标,并使其取决于实际目标。但是,它设置了属性isReleaseTarget
。我在我的自定义目标上使用它,以确保它们只在设置了它时运行。