Por qué mi App no aparece en tablets en Google Play?

Sólo me libera mi app para teléfonos y tabletas, pero no aparece en Google Play para tablets.

Verifica en el Nexus 7 y Asus eeeePad

Esto es lo que tengo en mi archivo de manifiesto

<compatible-screens>
    <!--no small size screens -->

    <!--Only hdpi and xhdpi for normal size screens -->
    <screen android:screenSize="normal" android:screenDensity="mdpi" />
    <screen android:screenSize="normal" android:screenDensity="hdpi" />
    <screen android:screenSize="normal" android:screenDensity="xhdpi" />

    <!-- all large size screens -->
    <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" />

    <!-- all xlarge size screens -->
    <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>

uses-sdk etiqueta

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

permisos

<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<permission android:name="com.myapp.something.permission.C2D_MESSAGE" android:protectionLevel="signature" />

Después de agregar explícitamente uses-feature etiqueta es falso, se comenzó a aparecer para Asus eeeePad tableta, pero todavía no aparece para nexus 7. Aquí es lo que yo veo en la consola del desarrollador

Esta aplicación sólo está disponible para dispositivos con estas características, tal como se define en el manifiesto de aplicación.
Pantalla de densidades: LARGE,MDPI LARGE,HDPI LARGE,LDPI LARGE,XHDPI XLARGE,MDPI XLARGE,HDPI XLARGE,LDPI XLARGE,XHDPI NORMAL,MDPI NORMAL,HDPI NORMAL,XHDPI
Se requiere de las características del dispositivo

android.hardware.screen.portrait
android.hardware.touchscreen
  • No parece ser nada malo con esa parte de su manifiesto, por lo que su problema se encuentra en otra parte (p. ej., permisos de lo que implica la función de hardware requisitos).
  • Cuánto tiempo hace que sacasteis su aplicación? Si no fue hace mucho tiempo, espere un poco de tiempo y, a continuación, vuelva a comprobar, si el mercado dice que la aplicación es compatible se debe trabajar.
  • Han pasado más de 24 horas, ahora
  • revise su utiliza-característica de las etiquetas (por ejemplo, si android.de hardware.teléfono, asegúrese de establecer requerido=false, y también asegurarse de que tiene <soporta pantallas de android:xlargeScreens=»true» />
  • No tengo ningún uso de la característica de la etiqueta en el manifiesto. <compatible con pantallas> etiqueta se usa así que no hay punto de con <soporta pantallas>
InformationsquelleAutor Saqib | 2012-07-27

7 Kommentare

  1. 40

    Por último la adición de un caso especial para el Nexus 7 en <compatible-screens> etiqueta trabajó para mí. Como Nexus 7 ha tvdpi densidad

    <compatible-screens>
        <!--no small size screens -->
    
    
        <!--all normal size screens -->
        <screen android:screenSize="normal" android:screenDensity="ldpi" />
        <screen android:screenSize="normal" android:screenDensity="mdpi" />
        <screen android:screenSize="normal" android:screenDensity="hdpi" />
        <screen android:screenSize="normal" android:screenDensity="xhdpi" />
    
        <!-- all large size screens -->
        <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" />
    
        <!-- all xlarge size screens -->
        <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" />
    
        <!-- Special case for Nexus 7 -->
        <screen android:screenSize="large" android:screenDensity="213" />
    
    </compatible-screens>

    ACTUALIZACIÓN:

    Para xxhdpi dispositivos que se pueden utilizar 480 como un valor int

         <screen android:screenSize="normal" android:screenDensity="480" />
         <screen android:screenSize="large" android:screenDensity="480" />
         <screen android:screenSize="xlarge" android:screenDensity="480" />`
    • Gracias por esta respuesta. Me encontré con este problema y no podía entender por qué mi aplicación no estaba disponible en el Nexus 7. Siguientes enlaces tienen más información. plus.google.com/106300001086744879268/posts/Wa9xtQjZHJx code.google.com/p/android/issues/detail?id=34076
    • He probado este, pero elimina algunos de los predeterminada tamaños de apoyo. Cómo puedo añadir soporte para el Nexus 7, manteniendo todos los tamaños predeterminados, o hay una manera de agregar todos los tamaños (pequeño+) a lo que fue publicado anteriormente?
    • No tengo pantalla pequeña apoyo en mi aplicación es por eso que he omitido aquellos. usted puede añadir estas etiquetas yo.e <!-- all small size screens --> <screen android:screenSize="small" android:screenDensity="ldpi" /> <screen android:screenSize="small" android:screenDensity="mdpi" /> <screen android:screenSize="small" android:screenDensity="hdpi" /> <screen android:screenSize="small" android:screenDensity="xhdpi" />
    • ¿el compatible-screens trabajo en lugar de supports-screens o ambos son necesarios?
    • Creo que debe ser <pantalla de android:screenSize=»grande» android:screenDensity=»tvdpi» />
  2. 35

    Esta página identifica su problema.

    Cuando se utiliza <uses-feature> en lugar de <uses-permission>, su aplicación no se filtra por el Mercado, pero se espera que manejar dispositivos que no soportan que la función de nivel de código.

    Para cualquiera de los permisos en la página anterior, puede deshabilitar el filtrado basado en la característica implícita por declarar explícitamente la característica implícita que explícitamente, en un <uses-feature> elemento, con un android:required="false" atributo. Por ejemplo, para desactivar cualquier filtrado basado en el permiso de CÁMARA, habría que agregar a esta declaración en el manifiesto de archivo:

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

    Sin embargo, cuando se especifica <uses-permission>, todos los dispositivos que no tienen acceso a esa característica se filtran.

    • tuve que hacer este cambio también para obtener mi app disponible para nexus 7
    • Esto realmente funciona! Yo tenía el mismo problema que yo había usado TELEFONÍA permiso y así google play no mostrar la aplicación en tabletas, sin una telefonía de radio. He añadido el elemento uses-feature con android:required=»false» y ahora puedo ver la app en Google play en mi tablet.
  3. 19

    Creo que la clave está en sus permisos. Diciendo que usa la aplicación RECEIVE_SMS y READ_PHONE_STATE Google Play utiliza para filtrar los dispositivos que no puede hacer esas cosas (tabletas) porque considera que la aplicación necesita usar los permisos para trabajar. Según el sitio de desarrolladores de android:

    «Para evitar que las aplicaciones partir de la disposición involuntariamente,
    Google Play se supone que determinados componentes de hardware relacionados con los permisos de indicar
    que el subyacente de las características de hardware son necesarios de forma predeterminada. Para
    ejemplo, las aplicaciones que utilizan Bluetooth debe solicitar el BLUETOOTH
    permiso en un elemento — por legado apps, Google
    Jugar asume que el permiso declaración significa que el subyacente
    android.de hardware.función bluetooth es requerido por la aplicación, y
    establece el filtrado basado en esa función.»

    También, mira esto:

    De telefonía CALL_PHONE android.de hardware.telefonía
    CALL_PRIVILEGED android.de hardware.telefonía
    MODIFY_PHONE_STATE android.de hardware.telefonía
    PROCESS_OUTGOING_CALLS android.de hardware.telefonía
    READ_SMS android.de hardware.telefonía
    RECEIVE_SMS android.de hardware.telefonía
    RECEIVE_MMS android.de hardware.telefonía
    RECEIVE_WAP_PUSH android.de hardware.telefonía
    SEND_SMS android.de hardware.telefonía
    WRITE_APN_SETTINGS android.de hardware.telefonía
    WRITE_SMS android.de hardware.telefonía

    Tiene RECEIVE_SMS y READ_PHONE_STATE automáticamente te han android.hardware.telephony. Usted puede solucionar este problema haciendo

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

    Todo esto se explica en mayor profundidad aquí.

    • así que ¿cuál es la diferencia entre <uses-feature> y etiqueta <usa-permiso> etiqueta?
    • Ver editar: puede utilizar un permiso, pero no el uso de la función sino que se tiene que introducir manualmente la uses-feature=false.
    • Después de agregar explícitamente <uses-feature> etiqueta a es falso, se comenzó a aparecer para Asus eeeePad tableta, pero todavía no aparece para nexus 7. Por favor, consulte la edición
    • Una mucho mejor respuesta creo
  4. 10

    Que tengo que hacer esas tres cosas para llegar a trabajar para el Nexus 7. Una vez que ha subido el apk, puede comprobar la configuración por primera activar el nuevo apk, ir a detalles del producto y la búsqueda de dispositivos compatibles. Si el Nexus 7 no se encuentra debajo de «dispositivos no compatibles debido a su configuración del manifiesto» que son buenos.

    Nota: una Vez que subas tu apk de Google Play se traduce 213 densidad de tvdpi. No sé por qué no es una opción en eclipse manifiesto herramienta…

    <compatible-screens>
        ....
        <screen android:screenSize="large" android:screenDensity="213" />
    </compatible-screens>
    
    <uses-feature android:name="android.hardware.camera" android:required="false" />
    <uses-feature android:name="android.hardware.telephony" android:required="false" />
  5. 4

    La documentación nos indica que debemos evitar el uso de

    <compatible-screens>


    ver aquí


    en lugar usted debe utilizar

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


    Muchas de las otras respuestas proporcionadas en esta página también son eficaces las respuestas. He aplicado a mí mismo. Gracias a todos.

  6. 3

    Según developer.android.com

    Si la aplicación declara un <compatible con pantallas> elemento en el manifiesto, el elemento debe incluir atributos que especifican todo el tamaño y la densidad de combinaciones para tablet pantallas que admite la aplicación.

    Tenga en cuenta que, si es posible, usted debe evitar utilizando el <compatible con pantallas> elemento en su aplicación.


    Por lo tanto, hago las siguientes tareas,

    1- ELIMINADO: <compatible con pantallas> desde el manifiesto

    <compatible-screens>
        <!-- all small size screens -->
        <screen android:screenSize="small" android:screenDensity="ldpi" />
        <screen android:screenSize="small" android:screenDensity="mdpi" />
        <screen android:screenSize="small" android:screenDensity="hdpi" />
        <screen android:screenSize="small" android:screenDensity="xhdpi" />
    
        <!--all normal size screens -->
        <screen android:screenSize="normal" android:screenDensity="ldpi" />
        <screen android:screenSize="normal" android:screenDensity="mdpi" />
        <screen android:screenSize="normal" android:screenDensity="hdpi" />
        <screen android:screenSize="normal" android:screenDensity="xhdpi" />
    
        <!-- all large size screens -->
        <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" />
    
        <!-- all xlarge size screens -->
        <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" />
    
        <!-- Special case for Nexus 7 -->
        <screen android:screenSize="large" android:screenDensity="213" />
    
        <screen android:screenSize="normal" android:screenDensity="480" />
        <screen android:screenSize="large" android:screenDensity="480" />
        <screen android:screenSize="xlarge" android:screenDensity="480" />
    
    </compatible-screens>

    2- AÑADIDO <soporta pantallas> atributo en el manifiesto

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

    3- AÑADIDO android:required=»false» atributo en <uses-feature> (como por mi requisito de aplicación) en el manifiesto

    <uses-feature android:name="android.hardware.telephony" android:required="false" />
    <uses-feature android:name="android.hardware.bluetooth" android:required="false"/>
    <uses-feature android:name="android.hardware.location.gps" android:required="false"/>
    <uses-feature android:name="android.hardware.camera" android:required="false"/>
    <uses-feature android:name="android.hardware.nfc" android:required="false"/>

    Oficial de Android documentación sobre Los permisos que Implican Requisitos de la Característica

    Una explicación más detallada acerca de android:se requiere falsa está presente en ATRIBUTOS: android:requiere falso

    Al declarar android:required=»false» para una función, significa que la aplicación se prefiere el uso de la función si está presente en el dispositivo, pero que está diseñado para funcionar sin la característica especificada, si es necesario (que es la Telefonía permiso en el caso de las tabletas).


    Haciendo los cambios mencionados,

    MÁS DE 2000 DISPOSITIVOS se han añadido en los Dispositivos Android Compatibles lista

    Por qué mi App no aparece en tablets en Google Play?

    Espero que le ayuda a

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea