Приложение не отображается в Android Market для определенного устройства (Фильтры Android Market) - PullRequest
2 голосов
/ 10 января 2012

У меня проблемы с системой фильтрации Android Market.Я читал документацию по фильтрам Android Market на developer.android.com и полагаю, что проблема связана с ограничениями экрана или плотности.

Манифест моего приложения содержит следующее:

  • использование-разрешение ACCESS_FINE_LOCATION
  • использование-разрешение ИНТЕРНЕТ
  • использование-разрешение READ_PHONE_STATE
  • использование-разрешение SEND_SMS
  • использование-разрешение ACCESS_COARSE_LOCATION
  • использование-разрешение ACCESS_COARSE_UPDATES
  • использование-разрешение RECEIVE_SMS
  • использование-разрешение ACCESS_NETWORK_STATE
  • использование-разрешение WAKE_LOCK
  • использование-разрешение WRITE_EXTERNAL_R*
  • minSdkVersion равно 7

При использовании этих разрешений становится ясно, что Android Market ограничит приложение теми устройствами, которые не имеют ни GPS, 3G / WiFi, ни телефонии, ни SD-хранилища..

Однако у меня есть планшет Motorola Xoom (Android 3.1), в котором есть все эти устройства.возможности и оно не может видеть мое приложение в Android Market.

Я не объявляю ни один поддерживаемый экран с помощью элемента, потому что когда для android: minSdkVersion установлено значение 4 или выше, приложение считаетсяподдерживать все размеры экрана по умолчанию.Но мое приложение основано на уровне API 7 и android: атрибут xlargeScreens не появляется до уровня API 9.

Есть идеи?

Заранее спасибо.

Хави БаррераКинтанилья

Ответы [ 2 ]

2 голосов
/ 10 января 2012

Вы можете установить minSdkVersion на 7, но создать с targetSdkVersion=9 и target=android-9, и тогда приложение все равно будет работать на устройствах с API-уровнем 7, но вы можете использовать атрибуты, определенные в API-уровне 9 Таким образом, вы можете установить android:xlargeScreens, сохраняя совместимость приложения с 2.1.

Недостаток заключается в том, что теперь среда IDE будет считать все доступное на уровне 9 API-интерфейса допустимым, а затем приложение не будет работать во время выполнения при запуске на устройстве с более старой прошивкой. Мы работаем над этим, выполняя сборку разработки с целевым значением minSdkVersion и выпуская сборки с измененным манифестом и целевой версией, с которой мы используем атрибуты.

1 голос
/ 20 мая 2013

Я только что подтвердил, что Решение Яна Худека работает, вы должны установить для android:xlargescreens значение true, чтобы приложение не фильтровалось для ЛЮБОГО 10-дюймового планшета независимо от того, Версия ОС Android. К счастью, у нас на рабочем месте было 3 разных 10-дюймовых планшета и один 7-дюймовый для тестирования. Asus Transformer и Nexus 10 с Jelly Bean и Galaxy Tab 10.1 с Honeycomb были перечислены как несовместимые устройства, но наш Nexus 7 был совместим.

Не забудьте также установить targetSdkVersion (документация рекомендует установить это явно), вероятно, на 8 или выше, а minSdkVersion в порядке на 7 или выше.

К сожалению, до того, как я установил android:xlargeScreens в true, при публикации приложения в консоли разработчика Android я все еще видел, что Galaxy Tab 10.1, Nexus 10 и т. Д. Были перечислены в качестве поддерживаемых устройств. Так что, пока приложение не появилось в магазине Play, оно заявило, что оно несовместимо с этими планшетами. Возможно, консоль разработчика проверяет только minSdkVersion в манифесте и не поддерживает экраны.

...