Приложение Android не совместимо с устройствами, которые загружают Google Play

У меня есть приложение, которое было развернуто для воспроизведения и совместимо с любым устройством с версией 2.1 или новее; Никаких особых ограничений или требований, определенных в AndroidManifest.xml.

Было несколько жалоб от пользователей, пытающихся установить приложение через Google Play, но получая сообщения, которые несовместимы. Во всех этих случаях при загрузке приложения работает отлично.

Копая немного глубже в проблему, похоже, что во всех случаях люди, сообщающие об этой проблеме, используют устройство, которое не поставляется с установленной программой Google Play. IE. Возможно, устройство не удалось выполнить CTS Google.

Сказав это, они могут устанавливать другие приложения через Google Play, но не наши. Опять же, нагрузка на наше приложение на эти устройства прекрасна. Кто-нибудь знает, почему это может быть? Я предполагаю, что это должно быть что-то, что я делаю неправильно в AndroidManifest.xml, но я не вижу ничего подозрительного.

EDIT: вот AndroidManifest.xml, измененный для защиты имен невинных:

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.foo.bar" android:versionCode="1" android:versionName="@string/global_app_version"> <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="10"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <application android:label="@string/global_app_short_name" android:icon="@drawable/app"> <activity android:name=".HomeActivity" android:theme="@android:style/Theme.Black.NoTitleBar"> <intent-filter android:label="@string/global_app_short_name"> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <activity android:name=".AActivity" android:theme="@android:style/Theme.Black.NoTitleBar"> <intent-filter android:label="@string/global_app_short_name"> <action android:name="android.intent.action.VIEW"/> </intent-filter> </activity> <activity android:name=".BActivity" android:theme="@android:style/Theme.Black.NoTitleBar"> <intent-filter android:label="@string/global_app_short_name"> <action android:name="android.intent.action.VIEW"/> </intent-filter> </activity> <activity android:name=".CActivity" android:launchMode="singleTask" android:theme="@android:style/Theme.Black.NoTitleBar" android:windowSoftInputMode="stateHidden"> <intent-filter android:label="@string/global_app_short_name"> <action android:name="android.intent.action.VIEW"/> </intent-filter> </activity> <activity android:name=".DActivity" android:launchMode="singleTask" android:theme="@android:style/Theme.Black.NoTitleBar"> <intent-filter android:label="@string/global_app_short_name"> <action android:name="android.intent.action.VIEW"/> </intent-filter> </activity> <activity android:name=".EActivity" android:theme="@android:style/Theme.Black.NoTitleBar"> <intent-filter android:label="@string/global_app_short_name"> <action android:name="android.intent.action.VIEW"/> </intent-filter> </activity> <activity android:name=".FActivity" android:theme="@android:style/Theme.Black.NoTitleBar"> <intent-filter android:label="@string/global_app_short_name"> <action android:name="android.intent.action.VIEW"/> </intent-filter> </activity> <!-- This activity is invoked whenever an xxx is opened --> <activity android:name=".GActivity" android:theme="@android:style/Theme.Black.NoTitleBar"> <intent-filter android:label="@string/global_app_short_name"> <action android:name="android.intent.action.VIEW"/> <action android:name="android.intent.action.EDIT"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:mimeType="application/xxx"/> <data android:mimeType="application/yyy"/> <data android:mimeType="application/zzz"/> <data android:mimeType="application/aaa"/> <data android:mimeType="application/bbb"/> </intent-filter> </activity> </application> </manifest> 

    Я нашел преступника – защита от копирования была включена. Из заметок Google по настройке: http://developer.android.com/guide/google/play/filters.html

    Чтобы скопировать защиту приложения, установите для защиты от копирования значение «Вкл.» При настройке параметров публикации для вашего приложения. Google Play не будет показывать приложения с защитой от копирования на устройствах разработчика или неизданных устройствах.

    Другими словами, необходимость бокового загрузки Google Play является лишь побочным эффектом того, что вы являетесь «неизданным устройством» / устройством, которое не работает с Google CTS. В любом случае отключение защиты от копирования разрешило проблему.

    Может быть, аппаратное обеспечение, которое они запускают, несовместимо с вашим приложением? Возможно, вам нужен сенсорный экран, и у него его нет; Может быть, вам нужна телефония, и у них ее нет?

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

    В любом случае, попытка получить журнал из них будет наиболее полезной!

    Возможно, затронутые пользователи могут попробовать и сбросить приложение Google Play Store на своих устройствах:

    Меню -> Настройки -> Приложения -> Магазин Google Play

    Затем нажмите «Принудительное закрытие» и «Очистить данные»,

    Затем снова запустите Google Play Store, войдите в систему и попробуйте снова установить приложение.

    Если у вас есть какие-либо продукты в приложении или вы продаете приложение за деньги, Google Play автоматически отфильтровывает вас из определенных стран, для которых он не поддерживает выставление счетов. Вы можете отправить нам письмо по электронной почте.