Android-приложение поддерживается 0 устройствами

У меня возникают проблемы с магазином Google Play, который настаивает на том, что мое приложение поддерживается 0 устройствами. Я пробовал все решения, которые я нашел в SO и в других местах. Речь идет не о том, что apk неактивен, он активируется по умолчанию, и я даже пытался отключить его и повторно активировать.

Я тестировал его на своем Galaxy Nexus, и он работает очень хорошо, нет никаких причин для его несовместимости с каждым устройством Android...

Здесь мой файл манифеста:

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

<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.CAMERA" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.INTERNET" />

<uses-feature
    android:name="android.hardware.accelerometer"
    android:required="true" />
<uses-feature
    android:name="android.hardware.screen.portrait"
    android:required="false" />

Полный источник проекта можно найти здесь: https://github.com/Nurgak/Android-Bluetooth-Remote-Control как открытый.

Это то, что я вижу в Google Play. enter image description here

5 функций:

android.hardware.ACCELEROMETER
android.hardware.BLUETOOTH
android.hardware.CAMERA
android.hardware.camera.AUTOFOCUS
android.hardware.TOUCHSCREEN

И 4 разрешения

android.permission.BLUETOOTH
android.permission.BLUETOOTH_ADMIN
android.permission.CAMERA
android.permission.INTERNET

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

Ответ 1

  • Попробуйте изменить имя apk от com.bluetooth до com.nurgak.bluetoothremote
  • Попробуйте настроить все uses-feature"-tag на false
  • Попробуйте удалить все разрешения (я знаю, что приложение не будет работать без них, но только для выяснения, почему Google Play говорит, что приложение поддерживает 0 устройств).

P.S.: Вам не нужно android.hardware.screen.portrait, если вы установите его до false, во всяком случае. В этом случае это не влияет.

Ответ 2

У меня возникла аналогичная проблема, когда я объявлял аппаратное обеспечение камеры в теге uses-feature в файле манифеста в своем приложении следующим образом:

<uses-feature android:name="android.hardware.camera">

Если вы не указали андроид: обязательный атрибут, по умолчанию он имеет значение "true". Таким образом, в Google Play Store предполагается, что приложение не будет работать, если оборудование камеры отсутствует.

После установки андроида: требуется false, как показано ниже, Play Store примет APK и отобразит список доступных для приложения устройств.

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

Вы также можете искать орфографические ошибки на дескрипторах функций. Для поддерживаемых дескрипторов функций см. http://developer.android.com/guide/topics/manifest/uses-feature-element.html#features-reference

Для получения дополнительной информации: http://developer.android.com/guide/topics/manifest/uses-feature-element.html

Ответ 3

Недавно мы перешли в Android Studio (из Eclipse), и я пытался загрузить свою первую производственную версию, созданную с помощью Studio, и я получил ужасное сообщение "Поддерживаемые устройства Android 0", когда я загрузил свой APK. Решение оказалось тем, что мы включали библиотеку кодеков apache commons.

Проверьте файл build.gradle - если вы видите что-то вроде:

compile 'org.apache.directory.studio:org.apache.commons.codec:1.+'

измените его на:

compile 'commons-codec:commons-codec:1.+'

Моя теория заключается в том, что часть пространства org.apache.directory.studio в пространстве имен закручивает консоль разработчика и отлично работает с сокращенными работами.

Как я узнал об этом? Ну, я этого не сделал, они сделали Мне просто повезло и нашло сообщение о фиксации через поиск Google.

Ответ 4

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

В этом случае мне пришлось удалить:

org.apache.commons.io:2.4

Ответ 5

Для меня проблема была в этой строке в файле манифеста:

<uses-feature android:name="android.hardware.camera2" />

Я бы потратил, возможно, довольно много времени, чтобы отследить его, но, к счастью, Google предоставляет в консоли разработчика возможность связаться с ними через чат (по какой-то причине этот параметр больше не присутствует в ATMW, возможно, он ограничен?), Они смогли определить проблему через несколько минут, мне пришлось изменить приведенную выше строку на

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

Достаточно задержка времени, поэтому спасибо Google!

Ответ 6

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

enter image description here

enter image description here

enter image description here

Ответ 7

У меня была аналогичная проблема. Моим решением было написать эту строку правильно в манифесте:

<uses-feature android:name="android.hardware.sensor.barometer" android:required="true" />

Ответ 8

хотя на этот вопрос дан ответ, некоторые дополнительные поправки, удалите любую зависимость .jar(особенно common-io. *. jar dependency). я смог решить проблему после решения проблемы зависимости.

Ответ 9

В случае использования gradle убедитесь, что все манифесты в проекте совпадают с версией sdk min/max/target.

Ответ 10

У меня также была проблема с 0 поддерживаемыми устройствами, но причина была другая. Одна из библиотек создаст файл lib/README.txt внутри сгенерированного APK. После загрузки APK в Google Play Console, файл lib/README.txt будет выбран инструментом анализа APK и будет рассматриваться как родная библиотека, которая не поддерживается никаким устройством.

Я исправил проблему, удалив файл из APK, используя следующую конфигурацию Gradle в файле build.gradle:

android {
    ...

    packagingOptions {
        exclude 'lib/README.txt'
    }
}

Ответ 11

У меня была эта проблема. Исправлено, удалив все в манифесте.

Ответ 12

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

Вот решение, надежда поможет кому-то

   <uses-feature
            android:glEsVersion="0x00020000"
            android:required="true" />

Также

<supports-screens
        android:anyDensity="true"
        android:largeScreens="true"
        android:normalScreens="true"
        android:resizeable="true"
        android:smallScreens="true"
        android:xlargeScreens="true" />

Надеюсь, что это поможет.

Ответ 13

Я также сталкиваюсь с той же проблемой. Я считаю, что эта проблема AndroidManifest.xml файлом AndroidManifest.xml. просто замени

<uses-feature android:name="android.hardware.accelerometer" android:required="true"/>

в

<uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true"/>

Я надеюсь, что это поможет вам.