Hemanth
Hemanth

Reputation: 2737

App not compatible with Nexus7 running Marshmallow

My app is in BETA TESTING. It's compatible with iBall tablet (tablet has sim card capability) and with Nexus5 running Marshmallow, but isn't compatible with Nexus7 running Marshmallow (and also with Nexus10. I didn't check it yet). I am not sure which permission is causing this. Or is it because of targetSdkVersion? (I dont think targetSdkVersion causes this. Please correct me if I am wrong)

Manifest:

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

    <uses-feature android:name="android.permission.RECEIVE_SMS" android:required="false" />
    <uses-feature android:name="android.permission.READ_SMS" android:required="false" />
    <uses-feature android:name="android.permission.READ_PHONE_STATE" android:required="false" />

    <permission
        android:name="in.company.company.permission.C2D_MESSAGE"
        android:protectionLevel="signature" />

    <uses-permission android:name="in.company.company.permission.C2D_MESSAGE" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />

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

build.gradle:

    compileSdkVersion 23
    buildToolsVersion '23.0.1'

    defaultConfig {
        applicationId "in.company.company"
        minSdkVersion 16
        targetSdkVersion 21
        versionCode 8
        versionName "1.7"
        multiDexEnabled true
    }

Also, I didn't upload any Tablet screenshots on developer console. For now, the app is designed for phone, but I want to make it available for all android devices out there. What I need to look into?

Thanks in advance.

Upvotes: 9

Views: 646

Answers (2)

Anuj Sharma
Anuj Sharma

Reputation: 4324

May be your Tablet doesn't support some features like phone. That's why its conflicting with permissions. Its done like

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

Other possible features are :

android.hardware.camera

android.hardware.camera.autofocus

android.hardware.location.gps

android.hardware.location

android.hardware.location.network

You can check all the Features Required in your application.

Upvotes: 4

Dhaval Parmar
Dhaval Parmar

Reputation: 18978

just add this requiresSmallestWidthDp in supports-screens element.

For example, a typical handset screen has a smallestWidth of 320dp, a 7" tablet has a smallestWidth of 600dp, and a 10" tablet has a smallestWidth of 720dp. These values are generally the smallestWidth because they are the shortest dimension of the screen's available space.

<supports-screens
        android:largeScreens="true"
        android:normalScreens="true"
        android:requiresSmallestWidthDp="720"
        android:resizeable="true"
        android:smallScreens="true"
        android:xlargeScreens="true" />

read more about support-screen

one more thing if you are compile your code with API 23 then why use targetSdkVersion 21 change it to 23.(don't forgot to implement permission model for your app when target 23 API)

Notes: if you are going to make app available for all android devices then you must have to use this supports-screens elements else Google play show you "app is not compatible with this device" or similar message. check some old answer which is related to tablets screen

Upvotes: 4

Related Questions