2012-10-10 26 views
5

mi aplicación no aparece en el Nexus 7. la consola de juego tienda de muestra para el Nexus 7 en la lista de dispositivos:Nexus 7 incompatibles debido a la configuración de manifiesto

Unsupported devices due to your manifest settings: 

Nexus 7(grouper)" 

mi manifiesto es el siguiente:

... 

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

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="com.android.vending.BILLING" /> 

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 

<compatible-screens> 
    <screen android:screenSize="normal" android:screenDensity="mdpi"/> 
    <screen android:screenSize="normal" android:screenDensity="hdpi"/> 
    <screen android:screenSize="normal" android:screenDensity="xhdpi"/> 

    <screen android:screenSize="large" android:screenDensity="ldpi"/> 
    <screen android:screenSize="large" android:screenDensity="mdpi"/> 
    <screen android:screenSize="large" android:screenDensity="hdpi"/> 
    <screen android:screenSize="large" android:screenDensity="xhdpi"/> 

    <screen android:screenSize="xlarge" android:screenDensity="ldpi"/> 
    <screen android:screenSize="xlarge" android:screenDensity="mdpi"/> 
    <screen android:screenSize="xlarge" android:screenDensity="hdpi"/> 
    <screen android:screenSize="xlarge" android:screenDensity="xhdpi"/> 
</compatible-screens> 

... 

No necesito una cámara que parece ser el caso para los problemas de incompatibilidad habituales. No estoy usando la entrada supports-screens (quiero excluir todos los dispositivos de pantalla pequeña, así como los dispositivos normales ldpi y esto no es posible usando la entrada AFAIK de pantallas de soporte).

alguna idea de lo que podría ser un problema?

un detalle interesante podría ser que el nexus 7 informa tener DENSITY_TV (213 ppp). Sin embargo, "tv" no es un valor posible para la etiqueta android: screenDensity.

EDIT: consola del programador informa de los siguientes permisos necesarios:

Permissions: 
android.permission.INTERNET, 
android.permission.ACCESS_NETWORK_STATE, 
android.permission.WAKE_LOCK, 
android.permission.READ_PHONE_STATE, 
android.permission.WRITE_EXTERNAL_STORAGE, 
com.android.vending.BILLING, 
android.permission.ACCESS_WIFI_STATE 

Features: 
android.hardware.screen.landscape, 
android.hardware.touchscreen, 
android.hardware.wifi 
+0

he notado que el nexus 7 funciona bien usando cosas hdpi. – toadzky

+0

Ingrese a la pestaña apk en la consola de desarrollador y haga clic en más ... Luego copie y pegue los permisos y las funciones requeridas que figuran allí. –

Respuesta

7

esto es cierto, no se puede agregar a "tvdpi" el manifiesto. Sin embargo, hay una solución, si ingresas "213", que como has señalado es el valor dpi de la densidad, eclipse estará contento con él y también tendrás tu aplicación en dispositivos nexus 7.

+1

que funcionó ... gracias. –

4

La lectura de su lista de permisos, la READ_PHONE_STATE que podría estar causando Google Play dar a entender que su aplicación requiere android.hardware.telephony característica que no está disponible en Nexus 7.

Trate de añadir esto a su manifiesto para resolver este problema:

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

Puedes leer más sobre "Permissions that Imply Feature Requirements" here.

+0

hay muchas otras tabletas (por ejemplo, acer iconia a500 o asus) que no son compatibles con la aplicación; así que no creo que esa sea la razón.pero si la sugerencia de biddulph.r no funciona, lo intentaré ... –

3

Una vez, cargué mi aplicación. No estaba disponible para nexus 7 tampoco. En mi caso fue causado porque yo tenía en mi archivo de manifiesto

<uses-permission android:name="android.permission.CALL_PHONE" /> 

que tenía la línea de arriba, porque yo estaba dando la posibilidad de llamar a un número de teléfono con un intento en una pantalla de la aplicación. Esta característica era menor y no era crucial para la aplicación en absoluto. Es decir, quería que la aplicación se ejecutara en dispositivos sin capacidades telefónicas.

Encontré este post Five Steps to Futre Hardware Hapinness en el Blog de Desarrolladores de Android que explica exactamente el problema.

de agregar la siguiente línea al archivo de manifiesto, lo que genera un nuevo archivo APK, y enviarlo a la Play Store hizo que mi aplicación compatible con otro grupo de dispositivos, incluyendo el nexo 7.

<uses-feature android:name="android.hardware.telephony" android:required="false"/> 
Cuestiones relacionadas