androidgoogle-playandroid-manifestscreen-density

Supporting Multiple Screens - usage of <compatible-screens>


I am having hard time understanding how to make my app available on certain devices but exclude other devices. I have Acer Iconia One 7 B1. Screen 7", 800x1280 pixels and 216 ppi density. At the first release of my app, Google Play said it was not compatible with my tablet. This was my manifest at the beginning:

<compatible-screens>
        <!-- all normal size screens -->
        <screen android:screenDensity="mdpi" android:screenSize="normal" />
        <screen android:screenDensity="hdpi"  android:screenSize="normal" />
        <screen android:screenDensity="xhdpi"  android:screenSize="normal"/>
        <screen android:screenDensity="xxhdpi" android:screenSize="normal"/>
        <!-- mdpi and hdpi large size screens -->
        <screen android:screenDensity="mdpi"  android:screenSize="large" />
        <screen android:screenDensity="hdpi"  android:screenSize="large" />
        <!-- mdpi x-large size screens -->
        <screen android:screenDensity="mdpi"  android:screenSize="xlarge" />
    </compatible-screens>

    <uses-sdk
        android:minSdkVersion="19"
        android:targetSdkVersion="25"
        />

After researching, I found out that my tablet had tvdpi density so I added few more lines to the Manifest to include ALL normal size screens:

<screen   android:screenSize="normal"  android:screenDensity="213"/>
<screen   android:screenSize="normal"  android:screenDensity="420"/>
<screen   android:screenSize="normal"  android:screenDensity="560"/>
<screen   android:screenSize="normal"  android:screenDensity="xxxhdpi"/>
<!-- to exclude TVs -->
      <uses-feature android:name="android.hardware.touchscreen"   
                    android:required="true"/>

When I was uploading version 2 of my app, the Google console showed me a warning that the updated apk supports LESS devices than the version 1 despite me adding more compatible screens!!! Please help me understand what am I doing wrong? Basically, I need to support all possible normal screen sizes no matter the density; large MDPI and HDPI and also extra large MDPI.


Solution

  • After looking into this for two days (shame on me for taking this long), I looked into the AVD manager in Android Studio to find out that the Nexus 7, which has the same specs as my Acer Iconia, is considered Large, not Normal. Once I changed the

    <screen   android:screenSize="normal"  android:screenDensity="213"/>
    

    to:

    <screen   android:screenSize="large"  android:screenDensity="213"/>
    

    and uploaded the new APK to the Play Store, my tablet was finally compatible with the app. I hope this helps somebody someday when they cant figure out why their tvdpi tablet is deemed not compatible with their app.