经过一番努力,我刚刚使用ant构建了我的工作。
基本上现在很简单了:
<project name="MyDroid" default="help" >
<property file="local.properties" />
<property file="build.properties" />
<property file="default.properties" />
<path id="android.antlibs">
<pathelement path="${sdk.dir}/tools/lib/anttasks.jar" />
<pathelement path="${sdk.dir}/tools/lib/sdklib.jar" />
<pathelement path="${sdk.dir}/tools/lib/androidprefs.jar" />
<pathelement path="${sdk.dir}/tools/lib/apkbuilder.jar" />
<pathelement path="${sdk.dir}/tools/lib/jarutils.jar" />
</path>
<taskdef name="setup"
classname="com.android.ant.SetupTask"
classpathref="android.antlibs"
/>
<import file="C:Applicationsandroid-sdk-windowstoolsantmain_rules.xml" />
<setup import="false" />
<!-- comment this line for build using nant, its silly , i know -->
<!--<import file="${sdk.dir}/platforms/android-7/templates/android_rules.xml" />-->
</project>
正如你所看到的,我引用了蚂蚁的main_rules.xml,而不是我使用的平台。
在我的manifest中:
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="10" />
我有几个问题:
- 我使用蚂蚁main_rules而不是平台的安全吗? 我注意到不是所有的平台都有main_rules.xml?启动android-9文件不再在模板目录?
- 当我尝试从android-7目录引用main_rules时,我使用nant buildscript得到了许多错误。大多数属性在我引用的库中找不到。我应该使用minSdk版本的main_rules.xml还是targetSdk版本?
- 我不能使用${target},因为它被设置为target=Google Inc.:Google api:7,这只是不起作用,因为这在磁盘上没有真正的路径。有解决办法吗?
在android-16之前的一段时间,android命令行工具被添加并生成一个build.xml文件,其中包括${android-sdk}/tools/ant/main_rules.xml
文件