发布具有maxSdkVersion值的Apk,以便在Google Play上过滤

时间:2014-06-02 21:05:24

标签: android google-play

我在Google Play上有一个带有以下属性的apk:

android:versionCode="1000"
android:versionName="1"

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

api级8 (2.2 FROYO)7 (2.1 ECLAIR_MR1)的设备在这个apk上遇到问题,因为这些api级别的方法不受支持。无论如何,我知道问题的原因和解决方案。但我不想将更新推送给我的所有客户(9+)。所以我创建了一个apk版本,其属性如下:

android:versionCode="1001"
android:versionName="1.1"

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

这个版本的apk只能在api 7级和8级的设备上看到。

但是当我尝试在Google Developer Console上发布时,我收到了以下错误:

This configuration cannot be published for the following reason(s):
It is forbidden that a device upgrading from API levels 7-8 to API levels in range 9+ should downgrade from version 1001 to version 1000, which would occur when 
Screen layouts containing any of [small, normal, large, xlarge] and 
OpenGL ES versions in range 2.0+ and 
Features containing all of [android.hardware.LOCATION, android.hardware.location.GPS, android.hardware.location.NETWORK, android.hardware.TELEPHONY, android.hardware.TOUCHSCREEN, android.hardware.WIFI].

I've already read documents about maxSdkVersion(我知道不建议使用它)

Also tried similar error's solution at adobe forums没有帮助我。

你有同样的情况吗?有什么解决方案/解决方法吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

我无法发布&#34;单曲&#34; apk在我当前的apk(1000)之后被描述为版本1001。为了解决我的问题,我有2个选择:

  1. 我必须发布另一个版本代码为1002的apk 专为+9设备而设计。因为谷歌说如果设备升级(它的api级别从8增加到9,设备必须得到我的apk的较低版本,它是禁止的。)
  2. 我必须为所有api级别发布我的单个apk(1001) maxSdkVersion。
  3. 这两种解决方案都是9种以上设备的更新,我不想要。

    http://developer.android.com/google/play/publishing/multiple-apks.html#HowItWorks

      

    ......版本代码必须增加   与每个APK的API级别支持相关联,以便用户获得   他们收到系统更新时的更新