2011-08-14 27 views
2

經過大量的努力,我剛剛開始使用ant進行構建。使用ant構建Android應用程序 - android_rules.xml怎麼樣?

基本上它是非常簡單的,現在雖然:

<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> 

正如你看,我是引用的,而不是說我使用的平臺的螞蟻的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版本還是targetSdk版本的main_rules.xml?
  4. 我無法使用$ {target},因爲它設置爲target = Google Inc.:Google API:7,並且這樣做不起作用,因爲這不是真正的磁盤路徑。任何解決方案?

非常感謝。

回答

0

在android-16之前的一段時間,android命令行工具被添加並生成一個包含${android-sdk}/tools/ant/main_rules.xml文件的build.xml文件。

相關問題