«Ваше устройство не совместимо с этой версией»

Я поместил приложение в игровой магазин, и мой друг, который работает под управлением 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>
 snotyak20 мая 2012 г., 09:22
У моего друга есть Galaxy S2 (не работает), и он работает на его Transformer Prime.
 Jeremy Edwards20 мая 2012 г., 09:43
На данный момент это может быть ограничение в настройках Android Market, вы могли бы случайно отфильтровать устройство. Посмотрите на мой обновленный пост для деталей. Также попробуйте посмотреть на ADB, пытаясь установить apk для деталей. Используйте команду adb install Filename.apk, чтобы установить его в Galaxy.
 Jeremy Edwards20 мая 2012 г., 03:29
Разместите файл AndroidManifest.xml и имя устройства, которое есть у вашего друга. Особое не бериuse-feature а такжеpermission теги у вас есть в вашем манифесте.

Ответы на вопрос(4)

логическое объяснение, которое вызывает сообщение о несовместимости, состоит в том, что устройства разные, и приложение использует функцию, которую одно из них не поддерживает. Посмотрите на свой 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

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

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

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

Решение Вопроса

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

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

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

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

 20 мая 2012 г., 16:31
Как называется приложение в магазине Google Play и на каком устройстве вы пытаетесь установить приложение?
 20 мая 2012 г., 03:31
Сомнительно, что это ответ. Это аппаратный фильтр, который, вероятно, вызывает несовместимость.
 snotyak21 мая 2012 г., 04:17
Это был не ответ, но тот ответ, который я нашел наиболее полезным.
 20 мая 2012 г., 03:34
Аааа, верно ... не видел, что оба устройства работали на 4.0.3. В этом случае мне нужно больше информации, чтобы определить, что именно не так ...
 snotyak20 мая 2012 г., 09:24
У меня нет никакой & lt; Использования-функции & gt; теги. Я избавился от своего андроида: targetSdkVersion = & quot; 15 & quot;

определенные в манифесте, 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.

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

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

Ваш ответ на вопрос