2012-06-22 4 views
14

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

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

У меня такая же проблема и я не знаю, что сказать потребителям ... – Mark

+0

Вы используете что-нибудь в Play Store, например. Покупки в приложении или лицензионный пакет LVL? Что-то вроде этого было бы наиболее вероятным преступником. –

+0

Нет, на самом деле единственным разрешением, которое мы используем, является хранение - то есть. sdcard и т.п. если есть. Это бесплатное приложение. – Nick

ответ

8

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

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

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

0

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

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

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

+0

Если бы это было что-то из вышеперечисленного, то боковая работа не сработала бы. Какой журнал я могу получить от них? Нет приложения install = не создано журнала. – Nick

+0

вы можете увидеть журнал устройства, в котором говорится, в чем проблема (например, PackageManager скажет что-то вроде «Не удалось установить приложение из-за несовместимого XXX»). Это не журнал приложений, а системный журнал. –

+0

Приложение не отображается в Google Play на устройстве (потому что игра считает его несовместимым), единственный способ, который мы нашли, чтобы даже попытаться установить через Play, - это перейти на play.google.com, найти приложение и нажмите «Установить», а затем выберите устройство для отправки приложения, которое затем представляет ошибку, но не приводит к сообщениям журнала из пакета mgr. – Nick

0

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

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

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

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

0

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

+0

Кто-то еще предложил это выше - ничего подобного не используется. Приложение на 100% бесплатно. – Nick

+1

Ahh, извините, моя ошибка - все равно стоит спросить их об этом, однако у них есть больше информации об этом, чем мы! :) –

+0

определенно - это стоит +1 наверняка :) – Nick

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