2011-02-25 14 views
11

Tenemos una aplicación para Android, que se manifiesta de que establece las siguientes configuraciones:aplicación no aparece en el Android Market para la tableta de Motorola XOOM

minsdkVersion = "4" 

<supports-screens 
        android:normalScreens="true" 
        android:largeScreens="true" 
        android:anyDensity="false" /> 

Sin embargo, cuando un usuario con el dispositivo de Motorola XOOM navega Android Market que es no se muestra nuestra aplicación.

¿Por qué es esto así?

Respuesta

1

El XOOM tiene una pantalla extra grande por lo que necesita android:xlargeScreens="true" en su manifiesto.

Editar: Parece que esto está por defecto en true. Ver mi comentario a continuación.

+0

Según: http: //developer.android.com/guide/appendix/market-filters.html Como regla general, Market asume que la plataforma en el dispositivo puede adaptar diseños más pequeños a pantallas más grandes, pero no puede adaptar diseños más grandes a pantallas más pequeñas Por lo tanto, si una aplicación declara ser compatible solo con el tamaño de pantalla "normal", Market hace que la aplicación esté disponible para dispositivos de pantalla grande y normal, pero filtra la aplicación para que no esté disponible para dispositivos de pantalla pequeña. –

+0

¿Lo anterior no significa que si un dispositivo tiene pantalla grande = pantalla "verdadera", también se admite xlargeScreen? –

+0

Los documentos @khotmanish mencionados son un poco ambiguos ya que la primera oración dice _larger_, que implica tanto grande como xlarge, mientras que la segunda oración dice simplemente _large_. –

1

¡Recuerde!

<uses-sdk android:minSdkVersion="X" android:targetSdkVersion="11" /> 

targetSdkVersion cuidará de usted;)

24

que tenían el mismo problema. Junto con la inclusión de android:xlargeScreens="true" encontré que esta es la solución.

Las golosinas Android Market, como si solicita un permiso como CALL_PHONE Pide también:

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

El XOOM no tiene la telefonía - el primer Android Market compatible dispositivo con esa limitación. Mientras que puede tener un plan de datos, no tiene voz o capacidad de SMS, por lo que es considerado como que no tiene android.hardware.telephony. Pero, si solicita permisos como CALL_PHONE, Android Market por predeterminado supondrá que necesita android.hardware.telephony. Como resultado de , se eliminará el de Market for the XOOM.

La solución es simple: para cualquier características de hardware que podrían ser implícito en los permisos, pero que lo haga no necesita absolutamente, agregue manualmente el elemento apropiado a el manifiesto con androide: required = "false":

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

Desde este blog: The CommonsBlog - XOOM, Permissions, and the Android Market

2

¿Tiene activada la protección contra copia? Tuve un problema similar, algunos Xooms podían ver mi aplicación, pero otros no. Aparentemente, activar la protección contra copia (en la configuración de la aplicación posterior a la carga) puede impedir que algunos dispositivos vean o descarguen la aplicación. Si eso es lo que está causando el problema, simplemente desactivar la protección contra copia solucionará el problema. Google recomienda utilizar el servicio de licencias en su lugar para proteger sus aplicaciones: http://developer.android.com/guide/publishing/licensing.html

1

Solicita los permisos de telefonía en su aplicación, p. READ_SMS o CALL_PHONE?De ser así, Market deducirá que se necesita soporte de telefonía, lo que significa que no estará disponible para Xoom.

Si este es el caso, entonces usted necesita para actualizar su AndroidManifest.xml para hacer las funciones de telefonía opcional:

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

Usted también tendrá que asegurarse de que su aplicación hace frente con gracia cuando las funciones de telefonía aren ¡presente!

Consulte mi respuesta here para obtener más información sobre cómo verificar en qué dispositivos Market está ofreciendo su aplicación.

No se requiere el permiso android:xlargeScreens="true", a menos que haya incluido explícitamente el [supports-screens][2] en su AndroidManifest.xml (que no debería, ya que el predeterminado lo hará disponible en todos los tamaños de pantalla).

Cuestiones relacionadas