Как понять, почему "приложение Android несовместимо с некоторыми конкретными устройствами"

Мое приложение в Google Play не отображается на некоторых устройствах независимо от версии Android. Можно ли как-то понять, почему мое приложение несовместимо с устройством Brand X через Android Studio или Google Android Developer Console?

Например;

  • Huawei P9 Android 6.0 в порядке

  • Huawei P9 Lite Android 6.0 СБОЙ

  • LG G5 - Android 7.0 в порядке
  • Android ONE - Android 7.1.1 ОШИБКИ

Я проверил ранее введенные вопросы / ответы и понял, что причиной может быть одно из следующих;

  1. android: required = "false" должен использоваться для нескольких применений-функций.
  2. Может быть связано с размером приложения.

Что мне действительно нужно, так это понять причину, по которой оно не несовместимо с конкретным устройством. Я попробую эти предложения и поделюсь результатом.

Мой файл манифеста выглядит следующим образом;

<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="10000" android:versionName="1.0.2" package="com.apps.appname" xmlns:android="http://schemas.android.com/apk/res/android">
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name" android:supportsRtl="true">
    <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize">
        <intent-filter android:label="@string/launcher_name">
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
**<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" />**
<uses-feature android:name="android.hardware.usb.host" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-feature android:name="android.hardware.bluetooth_le" android:required="false" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECORD_VIDEO" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
</manifest>

3 ответа

Решение

Можно ли как-то понять, почему мое приложение несовместимо с устройством Brand X через Android Studio или Google Android Developer Console?

Да, Cloud Test Lab - это способ проверить совместимость приложений.

Получите бесплатное автоматическое тестирование своего приложения на физических устройствах, охватывающее практически все марки, модели и версии устройств, которые могут иметь ваши пользователи. Лаборатория поможет вам быстро найти проблемы совместимости, которые вы можете пропустить, используя только доступные тестовые устройства.

Используйте Cloud Test Lab из Android Studio:

Добавьте следующее в файл studio.vmoptions:

-Denable.google.cloud.testing.plugin = верно

Теперь вы должны увидеть дополнительные параметры Cloud Test Lab в диалоговом окне настроек Run/Debug в Android Studio.

Cloud Test Lab в диалоговом окне

В разделе "Матрица облачного устройства" вы можете указать другую "конфигурацию матрицы", щелкнув следующий значок: и создав другую конфигурацию.

Нажмите "Применить" и закройте окно.

Теперь вы можете запустить тест, щелкнув значок "Запустить конфигурацию" в Android Studio.

Используйте Cloud Test Lab из командной строки

Сначала установите gCloud SDk. Добавьте компоненты Alpha, чтобы получить доступ к Cloud Test Lab из хранилища Alpha.

Компоненты $ gcloud обновляют альфа

Теперь настройте проект для codelab. Если вы используете свой собственный проект, замените его на правильный идентификатор проекта:

$ gcloud config set project cloud-test-lab-babbq-2015

Убедитесь, что ваши учетные данные аутентификации актуальны

$ gcloud auth login

Чтобы запустить тест на разных устройствах, давайте сначала посмотрим на список доступных устройств, выполнив эту команду:

$ gcloud альфа-тест списка устройств Android

Например:

тест на виртуальных устройствах Nexus6 и Nexus7 с API 19 и 21 на английском и французском языках в портретной и альбомной ориентациях. GCloud предоставил URL-адрес страницы результатов теста, где результаты отображаются по завершении каждого теста.

Альфа-тест $ gcloud Android Run \
- тип приборов \
--app app / build / output / apk / app-debug-unaligned.apk \

--test app / build / output / apk / app-debug-androidTest-unaligned.apk \

--device-ids Nexus6, Nexus7 \
--os-version-id 19,21 \ --locales en, fr \
- ориентация портрета, пейзаж

Руководство по использованию Google Cloud Test Lab

Консоль разработчика Google Play с функцией Cloud Test Lab

проверьте ниже ссылку для получения дополнительной информации https://firebase.google.com/docs/test-lab/

Надеюсь это поможет!!! Удачного кодирования!

Изменить: Чтобы просмотреть агрегированные результаты теста для всех матриц теста для данного приложения в вашем проекте Firebase, щелкните имя приложения, как показано на странице результатов примера матрицы теста, показанной ниже.

Пример страницы результатов выполнения теста

5

Пример страницы со списком тестовых матриц

6

Пример страницы результатов тестовой матрицы только с четырьмя выполнениями теста

7

Примечание. Подробные результаты теста доступны в течение 90 дней после запуска теста и хранятся в корзине Google Cloud Storage (GCS) (но также отображаются в консоли Firebase). Вы можете просмотреть подробные результаты теста в корзине GCS, щелкнув Просмотр исходных файлов на странице результатов выполнения теста. Когда подробные результаты тестов больше недоступны, вы все равно можете увидеть, какие тесты пройдены и не пройдены.

Примечание. Источники изображений взяты из официальной документации.

С помощью <uses-feature android:name="android.hardware.usb.host" /> в манифесте Google Play не разрешит установку приложения на устройства без функции USB-хоста.
Если вы все еще хотите, чтобы приложение было доступно для таких устройств, вам следует добавить "android:required="false" для этой функции.
Имейте в виду, что вы все равно не сможете использовать функции USB-хоста на устройствах, которые не имеют таких функций. Попытка их использования приведет к исключениям. Вы должны проверить, доступна ли эта функция, прежде чем использовать ее.

Это может быть поздно, но надеюсь, что это поможет кому-то.

В консоли Google Play

шаги с 1 по 4 на фотографиях шаги 5 и 6 на фотографиях интересующая информация

  1. Найдите и нажмите « Каталог устройств » в боковом меню. Возможно, вам придется согласиться с Условиями, если вы впервые используете функцию «Каталог устройств».
  2. Вы можете отфильтровать каталог, чтобы просмотреть все устройства
  3. Затем отфильтруйте устройства, чтобы найти устройство с проблемой несовместимости.
  4. Нажмите на стрелку справа от элемента списка
  5. На странице сведений об устройстве в разделе «Обзор» будет указано, поддерживается ли устройство или нет.
  6. Нажмите на Показать больше текста в конце заявления
  7. Найдите причины, по которым устройство не поддерживается, в информации, полученной на предыдущем шаге.
Другие вопросы по тегам