2014-06-02 4 views
0

Я APK в Google Play со свойствами ниже:Публикация APK С maxSdkVersion Значением для фильтрации в Google Play

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

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

устройств с уровнем апите 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 должен был быть замечен только теми устройствами, которые находятся на уровне апи 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

AFAIK, решение - отказаться от 'android: maxSdkVersion' (универсально игнорируется) и * также * опубликовать версию 1002 для более высоких уровней API. См. Http://developer.android.com/google/play/publishing/multiple-apks.html#HowItWorks и http://developer.android.com/google/play/publishing/multiple-apks.html#CreatingApks. Или, еще лучше, исправьте приложение для работы на всех устройствах из одного источника, например, проверив 'Build.VERSION.SDK_INT' во время выполнения, чтобы определить, как обращаться с этими вызовами API, которые дали вам проблемы. – CommonsWare

+0

@CommonsWare, поэтому у меня нет шансов опубликовать apk для видимых только устройств с уровнями 7 и 8 api, в то время как у меня есть apk, который видим от 7 до 19? – Devrim

+1

Да, вы можете. Вы можете следовать рекомендациям в первых двух предложениях моего комментария, включая щелчок по ссылкам и ** чтение документации **. – CommonsWare

ответ

0

Я не могу опубликовать «единственный» apk, который описан как версия 1001 после моего текущего apk (1000). Для того, чтобы решить мою проблему, у меня 2 варианта:

  1. я должен опубликовать еще один APK с кодом версии 1002, который предназначен для +9 устройств. Потому что google говорит, что если устройство обновлено (его уровень api увеличивается с 8 до 9, устройство должно получить более низкую версию моего apk, и это запрещено.)
  2. Я должен опубликовать мой единственный apk (1001) для всех api без maxSdkVersion.

Оба решения будут обновлены до 9 устройств, которые я не хочу.

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

... в версии коды должны увеличить в корреляции с уровнем поддержки API для каждого APK, так что пользователи получают обновленные данные, когда они получают обновление системы.

Смежные вопросы