¿Por qué mi aplicación no aparece en las tabletas en Google Play?

Acabo de lanzar mi aplicación para teléfonos y tabletas, pero no aparece en Google Play para tabletas.

Comprobado en Nexus 7 y Asus eeeePad

Esto es lo que tengo en mi archivo de manifiesto

                 

etiqueta uses-sdk

  

permisos

                    

Después de agregar explícitamente la etiqueta uses-feature a false, comenzó a aparecer para la tableta Asus eeeePad pero aún no aparece para nexus 7. Esto es lo que veo en la consola de desarrollador

Esta aplicación solo está disponible para dispositivos con estas características, tal como se define en el manifiesto de su aplicación. LARGE,MDPI LARGE,HDPI LARGE,LDPI LARGE,XHDPI XLARGE,MDPI XLARGE,HDPI XLARGE,LDPI XLARGE,XHDPI NORMAL,MDPI NORMAL,HDPI NORMAL,XHDPI pantalla: LARGE,MDPI LARGE,HDPI LARGE,LDPI LARGE,XHDPI XLARGE,MDPI XLARGE,HDPI XLARGE,LDPI XLARGE,XHDPI NORMAL,MDPI NORMAL,HDPI NORMAL,XHDPI Características del dispositivo requeridas

 android.hardware.screen.portrait android.hardware.touchscreen 

    Por último, agregué un caso especial para Nexus 7 con la etiqueta funcionó para mí. Como Nexus 7 tiene densidad tvdpi

                         

    ACTUALIZAR:

    Para dispositivos xxhdpi puede usar 480 como un valor int

        ` 

    Esta página identifica tu problema.

    Cuando use lugar de , Market no filtrará su aplicación, pero espera que maneje dispositivos que no admitan esa característica en el nivel de código.

    Para cualquiera de los permisos en esa página anterior, puede desactivar el filtrado basado en la característica implícita al declarar explícitamente la característica implícita explícitamente, en un elemento , con un atributo android:required="false" . Por ejemplo, para desactivar cualquier filtrado basado en el permiso CAMERA, debe agregar esta statement al archivo de manifiesto:

      

    Sin embargo, cuando especifica , se filtran todos los dispositivos que no tienen acceso a esa función.

    Creo que la clave está en tus permisos. Al decir que su aplicación usa RECEIVE_SMS y READ_PHONE_STATE Google Play usa eso para filtrar los dispositivos que no pueden hacer esas cosas (tabletas) porque cree que su aplicación necesita usar esos permisos para funcionar. De acuerdo con el sitio del desarrollador de Android:

    “Para evitar que esas aplicaciones estén disponibles involuntariamente, Google Play supone que ciertos permisos relacionados con el hardware indican que las características de hardware subyacentes son obligatorias por defecto. Por ejemplo, las aplicaciones que usan Bluetooth deben solicitar el permiso BLUETOOTH en un elemento: para aplicaciones heredadas , Google Play supone que la statement de permiso significa que la aplicación requiere la función android.hardware.bluetooth subyacente y configura el filtrado según esa característica “.

    Además, mira esto:

    Telefonía CALL_PHONE android.hardware.telephony CALL_PRIVILEGED android.hardware.telephony MODIFY_PHONE_STATE android.hardware.telephony PROCESS_OUTGOING_CALLS android.hardware.telephony READ_SMS android.hardware.telephony RECEIVE_SMS android.hardware.telephony RECEIVE_MMS android.hardware.telephony RECEIVE_WAP_PUSH android.hardware.telephony SEND_SMS android.hardware.telephony WRITE_APN_SETTINGS android.hardware.telephony WRITE_SMS android.hardware.telephony

    Tienes RECEIVE_SMS y READ_PHONE_STATE por lo que tienes automáticamente android.hardware.telephony . Puedes arreglar esto haciendo

      

    Todo esto se explica con más profundidad aquí .

    Tengo que hacer estas tres cosas para que funcione en Nexus 7. Una vez que hayas cargado tu apk, puedes verificar la configuración activando primero la nueva aplicación, ve a los detalles del producto y busca los dispositivos compatibles. Si Nexus 7 no se encuentra en “Dispositivos no compatibles debido a su configuración de manifiesto”, es bueno.

    Nota: una vez que cargues tu apk, Google Play traducirá 213 densidad a tvdpi. No estoy seguro de por qué no es una opción en la herramienta de manifiesto de eclipse …

      ....     

    La documentación nos indica que evitemos usar

      

    ver aquí
    en su lugar deberías usar

      

    Muchas de las otras respuestas proporcionadas en esta página también son respuestas efectivas. Los he implementado yo mismo. Gracias a todos.

    De acuerdo con developer.android.com

    Si la aplicación declara un elemento < compatible-screens > en el manifiesto, el elemento debe incluir atributos que especifiquen todas las combinaciones de tamaño y densidad para pantallas de tableta compatibles con la aplicación.

    Tenga en cuenta que, si es posible, debe evitar usar el elemento < compatible-screens > en su aplicación.


    Por lo tanto, hago las siguientes tareas,

    1- REMOVEDO < pantallas-compatibles > del manifiesto

                                

    2- AÑADIDO < supports-screens > atributo en el manifiesto

       

    3- ADDED android: required = “false” atributo en < uses-feature > (según mi requisito de aplicación) en el manifiesto

          

    Documentación oficial de Android sobre permisos que implican requisitos de características

    Una explicación más detallada acerca de android: required false está presente en ATRIBUTOS: android: required false

    Cuando declara android: required = “false” para una característica, significa que la aplicación prefiere usar la característica si está presente en el dispositivo, pero que está diseñada para funcionar sin la función especificada, si es necesario (es decir, permiso de telefonía en caja de tabletas).


    Al hacer los cambios anteriores,

    MÁS DE 2000 DISPOSITIVOS se agregaron en la lista de Dispositivos Android compatibles

    2000+ dispositivos añadidos

    Espero que eso ayude

    Obtengo ayuda de responder esta pregunta.

    ¿Cómo hacer que Phonegap para Android esté disponible para tabletas?

    Sí. El problema fue con permisos. Elimino todos los permisos de AndroidManifest.xml en vez de probar la aplicación y agregar el permiso uno por uno al obtener el error de permiso faltante. Ahora mi aplicación es compatible con teléfonos Android y tabletas.