2010-05-11 42 views
1

我知道,我可以讓Eclipse構建1.5和1.6的SDK針對不同屏幕密度,如果我有在AndroidManifest.xml是否有可能擁有支持1.5,1.6並支持不同屏幕密度的Android build.xml?

<supports-screens android:anyDensity="false"/> 
<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="4" /> 

,如果我在res文件夾中設置我的資產按以下方式下面的代碼片段:

/res/drawable-hdpi-v4 
/res/drawable-ldpi-v4 

我default.properties具有以下行:

# Indicates whether an apk should be generated for each density. 
split.density=false 
# Project target. 
target=android-4 

這種設置可以讓我在Eclipse IDE中創建1.5和1.6版本,但嘗試執行命令行構建時會失敗,並顯示以下錯誤。

Buildfile: build.xml 
    [setup] Project Target: Android 1.6 
    [setup] API level: 4 
    [setup] WARNING: Attribute minSdkVersion in AndroidManifest.xml (3) is lower than the project target API level (4) 
Target "resource-src" does not exist in the project "<project-name>". It is used from target "compile". 

此錯誤出現是否我用1.5 SDK或1.6 SDK(與-resource-SRC,-aidl目標)的build.xml生成。

我認爲,在命令行上,build.xml默認爲1.5 SDK,我不知道任何方式使它與1.6+ SDK一起工作,並會很感激任何想法,對此的評論。

我的目標是有一個腳本,它將支持所有Android SDK,同時支持不同的屏幕密度。

感謝

回答

0

好吧,我已經回答了這個自己回去考慮我解決了這個問題一段時間。這裏的問題是谷歌改變了<android-home>/tools/ant/main_rules.xml文件,這個文件用於我認爲的Android 2.2中的命令行編譯。

答案其實很簡單,我只是將我的Android SDK更新到最新版本,並在我的build.xml文件中覆蓋了我需要修改的<android-home>/tools/ant/main_rules.xml中定義的目標。據Google推薦這是推薦的方式,現在我所有的應用都是從Android 1.5開始構建的。