Вопрос по android, google-play – «Ваше устройство не совместимо с этой версией»

6

Я поместил приложение в игровой магазин, и мой друг, который работает под управлением 4.0.3 на двух устройствах, получил следующее сообщение при попытке установить мое приложение: «Ваше устройство несовместимо с этой версией».

Одно устройство позволяет устанавливать его, а другое - нет. Я допускаю API 3-15, и оба устройства являются 4.0.3. В чем проблема?

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.snotyak.basicfuelcalcpro"
    android:versionCode="2"
    android:versionName="1.2.3" >
    <uses-sdk
        android:minSdkVersion="4" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <application
        android:name=".CalcApp"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/MainTheme" >
        <activity android:name=".CalcActivity" >
        </activity>
        <activity
            android:name=".PrefsActivity"
            android:label="@string/prefs_name" />
        <activity
            android:name=".CalcTabView"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".AboutActivity"></activity>
        <activity android:name=".HistoryActivity" />
        <activity android:name=".AnalysisActivity" />
    </application>
</manifest>
На данный момент это может быть ограничение в настройках Android Market, вы могли бы случайно отфильтровать устройство. Посмотрите на мой обновленный пост для деталей. Также попробуйте посмотреть на ADB, пытаясь установить apk для деталей. Используйте команду adb install Filename.apk, чтобы установить его в Galaxy. Jeremy Edwards
Разместите файл AndroidManifest.xml и имя устройства, которое есть у вашего друга. Особое не бериuse-feature а такжеpermission теги у вас есть в вашем манифесте. Jeremy Edwards
У моего друга есть Galaxy S2 (не работает), и он работает на его Transformer Prime. snotyak

Ваш Ответ

4   ответа
1

  <uses-sdk android:targetSdkVersion="15" /> 

и это работает сейчас.

8

<uses-feature> тег в вашемAndroidManifest.xml файл. Похоже, что вашему приложению требуется функция, которую одно из устройств не поддерживает.

Вы также должны проверить, если у вас есть следующее заявлено в вашемAndroidManifest.xml,

<uses-sdk
    android:minSdkVersion="3" />

Вы хотите, чтобы ваше приложение работало на устройствах с API 3 и выше (не API с 3 по 15). Приведенный выше код гарантирует, что ваше приложение будет работать со всеми устройствами выше API 3. Обратите внимание, что вы, как правило, не хотите использоватьandroid:maxSdkVersion атрибут (если вы используете его в настоящее время).

Сомнительно, что это ответ. Это аппаратный фильтр, который, вероятно, вызывает несовместимость.
Аааа, верно ... не видел, что оба устройства работали на 4.0.3. В этом случае мне нужно больше информации, чтобы определить, что именно не так ...
У меня нет никакой & lt; Использования-функции & gt; теги. Я избавился от своего андроида: targetSdkVersion = & quot; 15 & quot; snotyak
Это был не ответ, но тот ответ, который я нашел наиболее полезным. snotyak
Как называется приложение в магазине Google Play и на каком устройстве вы пытаетесь установить приложение?
1

определенные в манифесте, Google Playstore Фильтрует ваше приложение на некоторых устройствах. Что-то вроде:

Declared specific Target Sdk Version. Defined Camera permission(Will filter devices without Camera) Uses Feature Camera. SIM enabled device. Device with Wifi. Min sdk version.

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

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

11

логическое объяснение, которое вызывает сообщение о несовместимости, состоит в том, что устройства разные, и приложение использует функцию, которую одно из них не поддерживает. Посмотрите на свой AndroidManifest.xml и обратите пристальное внимание наuses-feature а такжеuses-permission теги. Магазин Google Play будет использовать их для фильтрации несовместимых устройств.

Например, если у вас есть<uses-permission android:name="android.hardware.camera"> и один из телефонов не имеет камеры, тогда она будет отфильтрована. Потому что запрос разрешения подразумевает, что вашему приложению для правильной работы нужна камера. Вы можете исправить это, добавив<uses-feature android:name="android.hardware.camera" android:required="false" /> в ваш AndroidManifest.xml. Конечно, вам также потребуется код, чтобы защитить приложение от попыток доступа к камере, когда она недоступна.

Посмотрите на эту страницу для получения дополнительной информации,Фильтры Google Play.

В Google Play есть способ указать, что вызывает фильтрацию устройства. Это очень кратко, но перейдите к нижней части страницы под устройствами и выберите «Показать устройства», а затем выберите «Галактика», чтобы убедиться, что оно исключено на основе манифеста.

Google Play Filter

У меня есть только & lt; Использования-разрешения для android: name = & quot; android.permission.WRITE_EXTERNAL_STORAGE & quot; / & GT; и это необходимо для моего приложения: / snotyak
Это должно быть хорошо. Почти все устройства имеют доступную для записи память.

Похожие вопросы