Как понять, почему "приложение 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 ОШИБКИ
Я проверил ранее введенные вопросы / ответы и понял, что причиной может быть одно из следующих;
- android: required = "false" должен использоваться для нескольких применений-функций.
- Может быть связано с размером приложения.
Что мне действительно нужно, так это понять причину, по которой оно не несовместимо с конкретным устройством. Я попробую эти предложения и поделюсь результатом.
Мой файл манифеста выглядит следующим образом;
<?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.
В разделе "Матрица облачного устройства" вы можете указать другую "конфигурацию матрицы", щелкнув следующий значок: и создав другую конфигурацию.
Нажмите "Применить" и закройте окно.
Теперь вы можете запустить тест, щелкнув значок "Запустить конфигурацию" в 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
проверьте ниже ссылку для получения дополнительной информации https://firebase.google.com/docs/test-lab/
Надеюсь это поможет!!! Удачного кодирования!
Изменить: Чтобы просмотреть агрегированные результаты теста для всех матриц теста для данного приложения в вашем проекте Firebase, щелкните имя приложения, как показано на странице результатов примера матрицы теста, показанной ниже.
Пример страницы результатов выполнения теста
Пример страницы со списком тестовых матриц
Пример страницы результатов тестовой матрицы только с четырьмя выполнениями теста
Примечание. Подробные результаты теста доступны в течение 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 на фотографиях интересующая информация
- Найдите и нажмите « Каталог устройств » в боковом меню. Возможно, вам придется согласиться с Условиями, если вы впервые используете функцию «Каталог устройств».
- Вы можете отфильтровать каталог, чтобы просмотреть все устройства
- Затем отфильтруйте устройства, чтобы найти устройство с проблемой несовместимости.
- Нажмите на стрелку справа от элемента списка
- На странице сведений об устройстве в разделе «Обзор» будет указано, поддерживается ли устройство или нет.
- Нажмите на Показать больше текста в конце заявления
- Найдите причины, по которым устройство не поддерживается, в информации, полученной на предыдущем шаге.