Android: dispositivo no compatible con la aplicación, ¿por qué?
Actualmente estoy desarrollando una aplicación de cámara. Ahora uno de los usuarios se queja de que su dispositivo no es compatible. Es un Acer A200 :
No veo ninguna razón por la que el mercado android / google play marca la aplicación como no compatible con este dispositivo. ¿Sabes cuál podría ser la razón?
- android fondo blanco sin gradiente
- ERROR obteniendo el atributo 'name': atributo no es un valor de cadena
- El orden de instalar la aplicación está cambiando el comportamiento?
- Cómo analizar el archivo AndroidManifest.xml dentro de un paquete .apk
- Mezcla de manifiesto de Android: diferentes actividades de lanzamiento del proyecto de biblioteca
Aquí está el manifiesto:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="net.ttttrash.myapp" android:versionCode="32" android:versionName="3.2" > <application android:icon="@drawable/icon" android:label="@string/app_name" android:hardwareAccelerated="true"> <activity android:name=".CameraActivity" android:configChanges="keyboard|orientation|keyboardHidden" android:label="@string/app_name" android:windowSoftInputMode="adjustPan" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.media.action.IMAGE_CAPTURE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="net.ttttrash.myapp.PreferenceActivity" android:label="@string/set_preferences" > </activity> <activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"> </activity> </application> <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="8" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-feature android:name="android.hardware.camera.autofocus" android:required="false" /> </manifest>
- Reinicie la aplicación después de que Android la mate
- NullPointerException en mapFragment.getMapAsync
- El elemento uses-sdk no puede tener un atributo "tools: node"
- Por qué usar android: configChanges es una mala práctica
- Cómo deshabilitar el botón Inicio sin utilizar TYPE_KEYGUARD?
- Android - ¿Cuál es la diferencia entre compileSDKVersion "Google Inc.:Google APIs: 22" y "22"?
- ¿Qué hace el atributo android: configChanges = "screenSize"?
- ¿Cómo apoyar pantallas extra grandes en Android?
Gracias a Entreco encontré la respuesta. Sólo busqué los dispositivos compatibles en la configuración de mi aplicación. Luego, al comparar las especificaciones de las características de la tableta no compatible (Acer Iconia A200) a un dispositivo compatible (tableta A510) encontré la respuesta: El A200 no tiene una cámara trasera. Así que qué def. Falta es la siguiente entrada en el manifiesto:
<uses-feature android:name="android.hardware.camera.front" android:required="false" />
Agregue esto a su manifiesto:
<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" />
Estoy asumiendo que dejar de lado el soporte explícito para tablets (xlargeScreens) hace que Google Play considere que no es compatible.
Ok, esto es un tiro largo, pero podría ser la cámara está deshabilitada por alguna razón en ese dispositivo en particular?
Parece que el siguiente permiso:
<uses-permission android:name="android.permission.CAMERA" />
Implica que su aplicación está utilizando las funciones android.hardware.camera
y android.hardware.camera.autofocus
. Sin embargo, sólo definió android.hardware.camera.autofocus
como no obligatorio. Así que intenta agregar:
<uses-feature android:name="android.hardware.camera" android:required="false" />
Detalles sobre el filtrado de aplicaciones de Google Play
Una vez tuve el mismo problema, cuando resultó que el usuario instaló una ROM personalizada . Esta rom personalizada tenía un error en la cámara (por ejemplo, la cámara no era compatible, lo que es bastante común para las roms), y que estaba causando que la aplicación no fuera compatible …
Además, compruebe en su cuenta de desarrollador de Google Play, si el Acer A200 se encuentra entre los dispositivos compatibles. Por ejemplo, en la consola de dev, seleccione su aplicación. En Dispositivos compatibles, haga clic en Mostrar dispositivos. Allí, puede buscar su dispositivo, y puede ver si el dispositivo es compatible.