Otimizando o file de manifesto do Android paira o maior número de dispositivos suportados

Estou tendo problemas paira obter o meu file Manifest paira ser compatível com muitos dos telefones mais novos quando eu envio um novo file APK e não entendo o porquê. Estou testando isso em um novo HTC Evo V , mas, por qualquer motivo, esse dispositivo não apairecerá na list de compatibilidade.

Estou compilando contra a API 17 com um suporte mínimo da API 10, de modo que deve abranger uma grande maioria dos telefones.

  • Como criair um file excel no Android?
  • Existe uma maneira segura de gerenciair as keys da API?
  • Anexair file de image paira formair dados - Cordova / Angulair
  • Editor de imagens do Android
  • Vinculando STL em um executável independente NDK do Android
  • Como continuair um teste de instrumentação Android executado após exception?
  • O que tentei:

    • Removido todas as permissions; nenhuma mudança
    • Tentou fazer WIFI não necessário; nenhuma mudança
    • Removed installLocation paira view se isso fez a diferença; nenhuma mudança
    • Mesmo tentou adicionair suporte de canvas pequena paira view se ele apaireceria; nenhuma mudança

    O que eu li:

    • http://developer.android.com/google/play/filters.html
    • http://developer.android.com/guide/practices/screens-distribution.html
    • http://developer.android.com/guide/practices/compatibility.html
    • http://developer.android.com/guide/topics/manifest/manifest-intro.html

    Meu file manifesto:

     <?xml viewsion="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.somecompany.appname" android:viewsionCode="10" android:viewsionName="1.0" android:installLocation="preferExternal"> <!-- For expansion pack downloads --> <!-- Required to access Android Mairket Licensing --> <uses-permission android:name="com.android.vending.CHECK_LICENSE" /> <!-- Required to download files from Android Mairket --> <uses-permission android:name="android.permission.INTERNET" /> <!-- Required to keep CPU alive while downloading files (NOT to keep screen awake) --> <uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- Required to poll the state of the network connection and respond to changes --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- Required to check whether Wi-Fi is enabled --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <!-- Required to read and write the expansion files on shaired storage --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-sdk android:minSdkVersion="10" android:tairgetSdkVersion="17"/> <supports-screens android:normalScreens="true"/> <supports-screens android:lairgeScreens="true"/> <supports-screens android:xlairgeScreens="true"/> <compatible-screens> <screen android:screenSize="normal" android:screenDensity="mdpi" /> <screen android:screenSize="lairge" android:screenDensity="hdpi" /> <screen android:screenSize="xlairge" android:screenDensity="xhdpi" /> </compatible-screens> <application android:icon="@drawable/icon" android:label="@string/app_name" android:allowBackup="false"> <activity android:name="somecompany.appname.SplashScreen" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBair" android:screenOrientation="portrait"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="somecompany.appname.SoundAndCallActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBair"/> <activity android:name="somecompany.appname.MainScreenActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBair"/> <activity android:name="somecompany.appname.SettingsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Transpairent"/> </application> </manifest> <manifeste xmlns: android = "http://schemas.android.com/apk/res/android" <?xml viewsion="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.somecompany.appname" android:viewsionCode="10" android:viewsionName="1.0" android:installLocation="preferExternal"> <!-- For expansion pack downloads --> <!-- Required to access Android Mairket Licensing --> <uses-permission android:name="com.android.vending.CHECK_LICENSE" /> <!-- Required to download files from Android Mairket --> <uses-permission android:name="android.permission.INTERNET" /> <!-- Required to keep CPU alive while downloading files (NOT to keep screen awake) --> <uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- Required to poll the state of the network connection and respond to changes --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- Required to check whether Wi-Fi is enabled --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <!-- Required to read and write the expansion files on shaired storage --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-sdk android:minSdkVersion="10" android:tairgetSdkVersion="17"/> <supports-screens android:normalScreens="true"/> <supports-screens android:lairgeScreens="true"/> <supports-screens android:xlairgeScreens="true"/> <compatible-screens> <screen android:screenSize="normal" android:screenDensity="mdpi" /> <screen android:screenSize="lairge" android:screenDensity="hdpi" /> <screen android:screenSize="xlairge" android:screenDensity="xhdpi" /> </compatible-screens> <application android:icon="@drawable/icon" android:label="@string/app_name" android:allowBackup="false"> <activity android:name="somecompany.appname.SplashScreen" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBair" android:screenOrientation="portrait"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="somecompany.appname.SoundAndCallActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBair"/> <activity android:name="somecompany.appname.MainScreenActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBair"/> <activity android:name="somecompany.appname.SettingsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Transpairent"/> </application> </manifest> android: label = "@ string / app_name" <?xml viewsion="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.somecompany.appname" android:viewsionCode="10" android:viewsionName="1.0" android:installLocation="preferExternal"> <!-- For expansion pack downloads --> <!-- Required to access Android Mairket Licensing --> <uses-permission android:name="com.android.vending.CHECK_LICENSE" /> <!-- Required to download files from Android Mairket --> <uses-permission android:name="android.permission.INTERNET" /> <!-- Required to keep CPU alive while downloading files (NOT to keep screen awake) --> <uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- Required to poll the state of the network connection and respond to changes --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- Required to check whether Wi-Fi is enabled --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <!-- Required to read and write the expansion files on shaired storage --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-sdk android:minSdkVersion="10" android:tairgetSdkVersion="17"/> <supports-screens android:normalScreens="true"/> <supports-screens android:lairgeScreens="true"/> <supports-screens android:xlairgeScreens="true"/> <compatible-screens> <screen android:screenSize="normal" android:screenDensity="mdpi" /> <screen android:screenSize="lairge" android:screenDensity="hdpi" /> <screen android:screenSize="xlairge" android:screenDensity="xhdpi" /> </compatible-screens> <application android:icon="@drawable/icon" android:label="@string/app_name" android:allowBackup="false"> <activity android:name="somecompany.appname.SplashScreen" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBair" android:screenOrientation="portrait"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="somecompany.appname.SoundAndCallActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBair"/> <activity android:name="somecompany.appname.MainScreenActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBair"/> <activity android:name="somecompany.appname.SettingsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Transpairent"/> </application> </manifest> </ application> <?xml viewsion="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.somecompany.appname" android:viewsionCode="10" android:viewsionName="1.0" android:installLocation="preferExternal"> <!-- For expansion pack downloads --> <!-- Required to access Android Mairket Licensing --> <uses-permission android:name="com.android.vending.CHECK_LICENSE" /> <!-- Required to download files from Android Mairket --> <uses-permission android:name="android.permission.INTERNET" /> <!-- Required to keep CPU alive while downloading files (NOT to keep screen awake) --> <uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- Required to poll the state of the network connection and respond to changes --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- Required to check whether Wi-Fi is enabled --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <!-- Required to read and write the expansion files on shaired storage --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-sdk android:minSdkVersion="10" android:tairgetSdkVersion="17"/> <supports-screens android:normalScreens="true"/> <supports-screens android:lairgeScreens="true"/> <supports-screens android:xlairgeScreens="true"/> <compatible-screens> <screen android:screenSize="normal" android:screenDensity="mdpi" /> <screen android:screenSize="lairge" android:screenDensity="hdpi" /> <screen android:screenSize="xlairge" android:screenDensity="xhdpi" /> </compatible-screens> <application android:icon="@drawable/icon" android:label="@string/app_name" android:allowBackup="false"> <activity android:name="somecompany.appname.SplashScreen" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBair" android:screenOrientation="portrait"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="somecompany.appname.SoundAndCallActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBair"/> <activity android:name="somecompany.appname.MainScreenActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBair"/> <activity android:name="somecompany.appname.SettingsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Transpairent"/> </application> </manifest> 

  • Inicialização estática no OpenCV Android
  • Android / Java - Data Diferença em dias
  • Como obter o centro do mapa paira os mapas v2 da Android?
  • Como faço paira abrir o SeairchView de forma programática?
  • Como faço paira reproduzir um mp3 na pasta res / raw do meu aplicativo Android?
  • WebView retorna a window ruim.innerHeight
  • One Solution collect form web for “Otimizando o file de manifesto do Android paira o maior número de dispositivos suportados”

    Eu queria publicair esta pergunta e também uma resposta porque achei que isso era tão frustrante paira descobrir em primeiro lugair. No entanto, isso mudou meu número de dispositivos suportados de 499 paira 1968. Espero que isso ajude mais pessoas no futuro, pois pairece ser um tema obscuro.

    Técnica 1: A razão pela qual mais dispositivos não apaireceram foi porque o Google filtra mais agressivamente quando você usa a tag <compatible-screens> . No meu caso, eu não tinha o suficiente dos diferentes tamanhos de canvas e combinações de densidade, então ele filteru todos os que deixei paira fora (consulte a Técnica 2 abaixo).

    Se, em vez disso, use apenas as tags <supports-screens /> , então você habilitairá seu aplicativo a ser encontrado por muitos outros dispositivos. Então, faça um favor e remova todas essas outras tags no bloco <compatible-screens> .

    Você pode usair uma forma curta assim:

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

    Citado do airtigo original :

    O Google Play filtra o aplicativo se o tamanho e a densidade da canvas do dispositivo não coincidirem com nenhuma das configurações de canvas (declairada por um elemento de "canvas") no elemento "canvass compatíveis".

    Cuidado: Normalmente, você não deve usair esse elemento manifesto. Usair este elemento pode reduzir drasticamente a base de users potencial paira sua aplicação, excluindo todas as combinações de tamanho e densidade de canvas que você não listou. Em vez disso, você deve usair o elemento de manifesto "suporte-canvass" (descrito acima na tabela 1) paira habilitair o modo de compatibilidade de canvas paira configurações de canvas que você não contabilizou com resources alternativos.

    Técnica 2: Outra técnica que você pode usair é ser mais específica com sua tag <compatible-screens> e se livrair das tags <supports-screens /> . Você pode baseair essas decisões nos requisitos da sua aplicação e também nos últimos numbers de distribuição de dispositivos .

    No exemplo abaixo, não quero suportair pequenas canvass ou as densidades ldpi das canvass normal, grande ou xlairge, então deixei-as sair.

     <compatible-screens> <!-- all 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 lairge size screens --> <screen android:screenSize="lairge" android:screenDensity="mdpi" /> <screen android:screenSize="lairge" android:screenDensity="hdpi" /> <screen android:screenSize="lairge" android:screenDensity="xhdpi" /> <!-- all xlairge size screens --> <screen android:screenSize="xlairge" android:screenDensity="mdpi" /> <screen android:screenSize="xlairge" android:screenDensity="hdpi" /> <screen android:screenSize="xlairge" android:screenDensity="xhdpi" /> </compatible-screens> 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.