这4个文件(build.xml, local. xml)属性,项目。属性,proguard.cfg)在运行时自动生成:
android update project——name TestApp——target 10 .
更新project.properties 更新local.properties新增文件。/build.xml
更新文件。/proguard.cfg
但是我想要的是"auto-gen"xml还包括以下"预编译";代码也一样,有办法做到吗?有"包含"吗?文件或模板;哪个文件可以包含这个?
<target name="config">
<property name="config-target-path" value="${source.dir}/com/androidengineer/antbuild"/>
<!-- Copy the configuration file, replacing tokens in the file. -->
<copy file="config/Config.java" todir="${config-target-path}"
overwrite="true" encoding="utf-8">
<filterset>
<filter token="CONFIG.LOGGING" value="${config.logging}"/>
</filterset>
</copy>
</target>
由android
工具生成的build.xml
(至少在使用Android SDK r20时)包含这段代码:
<!--
Import per project custom build rules if present at the root of the project.
This is the place to put custom intermediary targets such as:
-pre-build
-pre-compile
-post-compile (This is typically used for code obfuscation.
Compiled code location: ${out.classes.absolute.dir}
If this is not done in place, override ${out.dex.input.absolute.dir})
-post-package
-post-build
-pre-clean
-->
<import file="custom_rules.xml" optional="true" />
所以我做什么来创建额外的目标或自定义现有的目标是创建一个custom_rules.xml
文件与这些新的目标。请注意,在我的测试中,目标需要嵌套在<project>
标记中,因此只需将生成的build.xml
的前两行复制到custom_rules.xml
,最后不要忘记结束的</project>
标记。由于custom_rules.xml
不会被android update
覆盖,您的更改将是持久的,并且可以检入您选择的SCM工具。
也许你可以检查一下这个问题的答案:
ADT插件是否自动创建ant构建文件?
在答案中有一段话说……
或者,你可以直接从$ANDROID_HOME/tools/lib/build中复制build.xml模板。模板,然后只需更改项目名称。
修改此文件并运行命令,看看是否有效。
还可以查看本文的"自定义构建":http://www.androidengineer.com/2010/06/using-ant-to-automate-building-android.html
在build.xml
本身中,它告诉您如何做到这一点。请参阅文件中的以下注释:
<!--
***********************
****** IMPORTANT ******
***********************
In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
in order to avoid having your file be overridden by tools such as "android update project"
-->
<!-- version-tag: 1 -->