Приложение внезапно стало несовместимым с устройством (Galaxy Tab 2)

У меня есть приложение, которое внезапно (сегодня) стало несовместимым с устройством, на котором оно работало нормально. Приложение — Dragon Lords, а устройство — Samsung Galaxy Tab 2. Кто-нибудь знает, что здесь могло произойти?

Последний apk был загружен 2 месяца назад, и все работало нормально. Сегодня у меня был отчет игрока о том, что в маркете приложение несовместимо с его устройством. Я проверил на своем Galaxy Tab 2, и это та же история. Мое устройство не рутировано, поэтому я действительно понятия не имею, что произошло.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:installLocation="auto"
package="mds.DragonLords"
android:versionCode="25"
android:versionName="1.2.19" >

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

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<application
    android:icon="@drawable/icon"
    android:label="@string/app_name"
     >
    <activity
        android:configChanges="keyboardHidden|orientation"
        android:name="com.tapjoy.TJCOffersWebView" />
    <activity
        android:configChanges="keyboardHidden|orientation"
        android:name="com.tapjoy.TapjoyFeaturedAppWebView" />
    <activity
        android:configChanges="keyboardHidden|orientation"
        android:name="com.tapjoy.TapjoyVideoView" />
    <activity
        android:configChanges="keyboardHidden|orientation"
        android:label="@string/app_name"
        android:name="mds.DragonLords.nowe.Splash"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
        <intent-filter >
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".nowe.Tester" >
    </activity>
    <activity
        android:configChanges="keyboardHidden|orientation"
        android:label="@string/app_name"
        android:name="mds.DragonLords.nowe.Main"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
    </activity>

    <service android:name="mds.DragonLords.nowe.billing.BillingService"/>

    <receiver android:name="mds.DragonLords.nowe.billing.BillingReceiver">
        <intent-filter >
            <action android:name="com.android.vending.billing.IN_APP_NOTIFY" />
            <action android:name="com.android.vending.billing.RESPONSE_CODE" />
            <action android:name="com.android.vending.billing.PURCHASE_STATE_CHANGED"/>
        </intent-filter>
    </receiver>
</application>

</manifest>

person Grzegorz 'Gatz' Siennicki    schedule 19.04.2013    source источник
comment
Вы сверяли требования к версии Android в манифесте с версией ОС планшета? Какие номера версий вы используете?   -  person Quinma    schedule 20.04.2013
comment
Ну проблема в том, что он работал. Так что, если на обоих устройствах не будет понижена версия ОС, она должна работать. И я не помню, чтобы понизить мое устройство. Atm у нас есть 2 APK на рынке, один с минимальным уровнем API 7, а другой с минимальным уровнем 8. Так что я действительно не вижу, чтобы это могло быть проблемой API.   -  person Grzegorz 'Gatz' Siennicki    schedule 20.04.2013
comment
Есть много других атрибутов манифеста, которые могут повлиять на это. Публикация вашего манифеста даст вам лучший шанс найти решение.   -  person Quinma    schedule 20.04.2013


Ответы (1)


Ваш манифест имеет

<uses-permission android:name="android.permission.READ_PHONE_STATE">

Это разрешение автоматически предполагает, что вы используете функцию android.hardware.telephony (поскольку только телефоны имеют READ_PHONE_STATE). Согласно документу Оптимизация для Android 3.0/планшетов, ваше приложение будет отображаться как несовместимое. если у вас есть функция android.hardware.telephony. Добавьте строку

<uses-feature android:name="android.hardware.telephony" android:required="false" />

Чтобы устройства без телефонии по-прежнему отображались как совместимые. Убедитесь, что ваше приложение правильно обрабатывает устройства без телефонии (поскольку попытка прочитать состояние телефона приведет к сбою этих устройств).

person ianhanniballake    schedule 19.04.2013
comment
Это имеет смысл. Залил новую версию на маркет. Сообщит вам, смогут ли планшеты увидеть его после того, как он появится на рынке. - person Grzegorz 'Gatz' Siennicki; 20.04.2013
comment
Похоже, это не сработало. Наш планшет по-прежнему не видит приложение. :( - person Grzegorz 'Gatz' Siennicki; 20.04.2013
comment
Я действительно понятия не имею, что происходит, тем более что консоль разработчика показывает Galaxy Tab 2 как одно из устройств, на которых доступно приложение. Я предполагаю, что если что-то в манифесте заставит приложение не работать на устройстве, устройство не будет указано в списке, а наше приложение доступно на 2702 устройствах в соответствии с консолью. - person Grzegorz 'Gatz' Siennicki; 20.04.2013
comment
Одному из моих пользователей удалось получить некоторую информацию от Google. Видимо проблема в размере экрана. Мы только что добавили в манифест поддержку больших экранов. Надеюсь, поможет. Спасибо, что нашли время ответить на мой вопрос. - person Grzegorz 'Gatz' Siennicki; 20.04.2013