我需要在 Google Play 商店中使用不同的 minSDKVersion(用于设备过滤目的),而不是用于私人 beta 测试。我尝试了以下方法:
AndroidManifest.xml 包含以下内容:
<manifest …>
[…]
<uses-sdk android:minSdkVersion="@integer/minSdkVersion" android:targetSdkVersion="15"/>
[…]
</manifest>
res/values/config.xml 由 maven 生成,包含以下内容:
<resources>
<integer name="minSdkVersion">8</integer>
</resources>
除了抱怨的aapt dump badging之外,这很好用:
ERROR getting 'android:minSdkVersion' attribute: attribute is not a string value
不幸的是,aapt dump 不会转储其余部分。所以除了这个错误,我没有任何输出:-(
当我将 minSdkVersion 引用更改为这样的字符串引用时:
AndroidManifest.xml 包含以下内容:
<manifest …>
[…]
<uses-sdk android:minSdkVersion="@string/minSdkVersion" android:targetSdkVersion="15"/>
[…]
</manifest>
res/values/config.xml 由 maven 生成,包含以下内容: 8
有了这个我无法安装应用程序,因为不知何故我的 API 级别 16(果冻豆)的设备不允许 APKs
sdkVersion:'8'
(根据aapt dump badging)进行安装。错误是:INSTALL_FAILED_OLDER_SDK
在创建 APK 时,字符串引用似乎被误解了。
我该怎么做才能从资源文件中引用 android:minSdkVersion 并使用 aapt 对其进行调试?
aapt 版本是 Android Tools Rev. 20 的 0.2。