使用ant建立Android应用程序 - android_rules.xml怎么样?

时间:2011-08-14 20:15:39

标签: android ant

经过大量努力后,我才使用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:\Applications\android-sdk-windows\tools\ant\main_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>

正如您所看到的,我正在引用ant的main_rules.xml而不是我正在使用的平台。

在我的清单中:

<uses-sdk
    android:minSdkVersion="7"
    android:targetSdkVersion="10" />

我对此有几个问题:

  1. 我可以安全地使用ant main_rules而不是平台吗?
  2. 我注意到并非所有平台都有main_rules.xml?启动android-9文件不再在模板目录中?
  3. 当我尝试从android-7目录引用main_rules时,使用我的nant buildscript时出现了很多错误。主要是在我引用的库中找不到的属性。我应该使用minSdk版本的main_rules.xml还是targetSdk版本?
  4. 我无法使用$ {target},因为它设置为target = Google Inc.:Google API:7并且因为磁盘上没有真正的路径而无效。对此有何解决方案?
  5. 非常感谢。

1 个答案:

答案 0 :(得分:0)

在android-16之前的某个时间,添加了android命令行工具并生成了一个包含${android-sdk}/tools/ant/main_rules.xml文件的build.xml文件。