问题
I've an apk at Google Play with properties below:
android:versionCode="1000"
android:versionName="1"
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="19"/>
Devices with api level 8 (2.2 FROYO) and 7 (2.1 ECLAIR_MR1) had a problem wiht this apk because of an unsupported method at those api levels. Anyway, I know the reason of the problem and the solution for it. But I don't want to push update to all of my clients(9+). So I created a version of an apk with properties below:
android:versionCode="1001"
android:versionName="1.1"
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="8"
android:maxSdkVersion="8"/>
This version of my apk was going to be seen by only the devices which are at api level 7 and 8.
But when I tried to publish it at Google Developer Console, I got error below:
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 (I know that it is not suggested to be used)
Also tried similar error's solution at adobe forums which didn't help me.
Did you have the same situation? Any solutions/workaround for this?
Thanks in advance.
回答1:
I can not publish a "single" apk which is described as version 1001 after my current apk (1000). To solve my issue, I've 2 choices:
- I have to publish another apk with the version code 1002, which is designed for +9 devices. Because google says that if the device is upgraded(its api level increases from 8 to 9, device must get the lower version of my apk and it is forbidden.)
- I have to publish my single apk(1001) for all api levels without maxSdkVersion.
Both solutions will be an update to 9+ devices which I don't want.
http://developer.android.com/google/play/publishing/multiple-apks.html#HowItWorks
...the version codes must increase in correlation with the API level support for each APK, so that users get an update when they receive a system update.
来源:https://stackoverflow.com/questions/24003274/publishing-an-apk-with-maxsdkversion-value-for-filtering-at-google-play