2012-10-08 22 views
2

我需要在Google Play商店中有不同的minSDK版本(用於設備過濾目的),而不是專用beta測試。我試過如下:「aapt dump badging」希望minSdkVersion是一個字符串,但「adb install」需要它作爲整數

AndroidManifest.xml中包含以下內容:

<manifest …> 
[…] 
    <uses-sdk android:minSdkVersion="@integer/minSdkVersion" android:targetSdkVersion="15"/> 
[…] 
</manifest> 
/價值/被行家產生config.xml中,包含以下

RES:

<resources> 
    <integer name="minSdkVersion">8</integer> 
</resources> 

這工作,除了罰款對於aapt轉儲徽章哪位投訴:

ERROR getting 'android:minSdkVersion' attribute: attribute is not a string value 

不幸的是,aapt轉儲不會轉儲其餘的。所以我離開了我,除了與這個錯誤沒有輸出:-(

當我改變的minSdkVersion參照字符串引用這樣的:

AndroidManifest.xml中包含以下內容:

<manifest …> 
[…] 
    <uses-sdk android:minSdkVersion="@string/minSdkVersion" android:targetSdkVersion="15"/> 
[…] 
</manifest> 

RES /值/被行家產生config.xml幷包含以下內容:

有了這個,我無法安裝應用程序,因爲不知我的設備符合API級別16(果凍豆)不(根據AAPT轉儲徽章)將被安裝的APK允許與

sdkVersion:'8' 

。錯誤是:INSTALL_FAILED_OLDER_SDK

似乎字符串引用在創建APK時被某種方式誤解了。

我能做些什麼來從資源文件中引用android:minSdkVersion並使用aapt進行調試?

AAPT版本在Android工具啓20

回答

2

既然我已經在使用Maven構建我的問題解決了這樣的項目:

我搬到了AndroidManifest.xml中的文件夾,名爲:$ {} project.basedir /過濾,並取代了的minSdkVersion值AndroidManifest。XML與屬性引用(我已經在pom.xml有這個):$ {} project.property.minSdkVersion:

<uses-sdk android:minSdkVersion="${project.property.minSdkVersion}" android:targetSdkVersion="15"/> 

,並從過濾/ config.xml中刪除它。然後,我添加了以下資源過濾指令pom.xml中:

<project ...> 
    ... 
    <properties> 
    <project.property.minSdkVersion>8</project.property.minSdkVersion> 
    </properties> 
... 
<build> 
    <resources> 
    <resource> 
    <filtering>true</filtering> 
    <directory>${project.basedir}/filtered</directory> 
    <targetPath>${project.basedir}/</targetPath> 
    <includes> 
     <include>AndroidManifest.xml</include> 
    </includes> 
    </resource> 
    </resources> 
    ... 
</build> 
... 
</project> 

這樣過濾後的AndroidManifest.xml是在哪裏Eclipse的預期,並具有調用MVN過程資源後更換物業參考的地方。在其他配置文件中,我爲$ {project.property.minSdkVersion}

3

his response to the dupe of this question要求在ADT-dev的谷歌集團報價XAV 0.2:

你不能在你的艙單的minSdkVersion引用的資源。

儘管清單中有很多東西可以引用資源,但顯然minSdkVersion不能。

Xav建議使用腳本來更改清單。另一種方法是將大部分應用程序打包爲Android庫項目,並創建兩個使用該庫的應用程序,其中一個使用您的兩個值minSdkVersion

相關問題