Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


"Su dispositivo no es compatible con esta versión"

Puse una aplicación en la tienda de juegos y mi amigo, que está ejecutando 4.0.3 en dos dispositivos, recibió el siguiente mensaje al intentar instalar mi aplicación: "su dispositivo no es compatible con esta versión".

Un dispositivo permite instalarlo y el otro no. Permito API 3-15 y ambos dispositivos son 4.0.3. ¿Cuál es el problema?

<?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> 

3 Solutions collect form web for “"Su dispositivo no es compatible con esta versión"”

Comprueba la etiqueta <uses-feature> en tu archivo AndroidManifest.xml . Parece que su aplicación requiere una característica que uno de los dispositivos no admite.

También debe comprobar si tiene los siguientes declarados en su AndroidManifest.xml ,

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

Desea que su aplicación funcione para dispositivos que ejecutan API 3 y superiores (no API 3 a 15). El código anterior garantizará que su aplicación funcione con todos los dispositivos anteriores a API 3. Tenga en cuenta que generalmente no desea utilizar el atributo android:maxSdkVersion (si lo está utilizando actualmente).

Siendo que los 2 dispositivos están en la misma versión, la explicación lógica que está causando el mensaje de incompatibilidad es que los dispositivos son diferentes y la aplicación utiliza una característica que uno de ellos no admite. Mira tu AndroidManifest.xml y presta mucha atención a las etiquetas uses-feature y uses-permission . Google Play Store usará estos dispositivos para filtrar dispositivos que no son compatibles.

Por ejemplo, si tienes <uses-permission android:name="android.hardware.camera"> y uno de los teléfonos no tiene una cámara, entonces será filtrada. Debido a que la solicitud de permiso implica que su aplicación necesita una cámara para funcionar correctamente. Puedes solucionar esto añadiendo <uses-feature android:name="android.hardware.camera" android:required="false" /> en tu AndroidManifest.xml. Por supuesto, también necesitarás código para proteger tu aplicación de intentar acceder a la cámara cuando no esté disponible.

Mira esta página para obtener más información, Filtros de Google Play .

Google Play tiene una manera de indicar qué está causando que el dispositivo se filtre. Es muy terso, pero ve al final de la página en dispositivos y selecciona Mostrar dispositivos y luego filtra para Galaxy para verificar que se excluye basándose en manifiesto.

Filtro de Google Play

Me deshice de

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

Y funciona ahora.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.