Android Device Compatibility Issues

261 views Asked by At

I'm trying to increase my apps compatibility as it currently only supports 21 devices. I've read that permissions and features in the manifest file determine how compatible your app is. Is there a way I can check how compatible each feature or permission is?

What is stopping my app from having more supported devices?

Heres my manifest file.

  <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="22" />
<application


    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/Theme.AppCompat.Light" >
    <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
    <receiver
        android:name=".GcmBroadcastReceiver"
        android:permission="com.google.android.c2dm.permission.SEND" >
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            <category android:name="com.example.example.example" />
        </intent-filter>
    </receiver>
    <service android:name=".GcmIntentService" />
    <activity

        android:name=".MainActivity"
        android:label="@string/app_name"
        >

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity

        android:name=".SplashScreen"
        android:label="@string/app_name"  android:theme="@style/Theme.AppCompat.Light.NoActionBar">
    </activity>

    <activity

        android:name=".PostDetailActivity"
        android:label="@string/app_name"
        android:theme="@style/Theme.AppCompat.Light"
        android:windowSoftInputMode="stateHidden">
    </activity>


    <activity

        android:name=".NotificationsActivity"
        android:label="@string/app_name"
        android:theme="@style/Theme.AppCompat.Light"
        android:windowSoftInputMode="adjustPan">
    </activity>
    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="example"/>

    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />

</application>


<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MAPS_RECEIVE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

<permission android:name="com.example.example.importedapplication.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />
<uses-permission android:name="com.example.example.importedapplication.permission.C2D_MESSAGE" />

<uses-feature android:name="com.google.android.maps" android:required="true" />
<permission
    android:name="com.arshad.map.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />

<uses-permission
    android:name="android.permission.READ_EXTERNAL_STORAGE"
    android:maxSdkVersion="22" />
<uses-feature android:name="android.hardware.camera"
    android:required="false" />
<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true"/>

2

There are 2 answers

0
Errol Green On BEST ANSWER
<uses-feature android:name="com.google.android.maps" android:required="true" /> 

This line needed to be deleted, after I removed it, I increased my supported devices by about 8050

5
narancs On

I never used it, just heard about it: https://source.android.com/compatibility/cts/index.html

I know there are some features in Google Play as well (never used, just heard about it): https://support.google.com/googleplay/android-developer/answer/1286017?hl=en