Search code examples
androidgoogle-playgoogle-console-developer

Google console showing 0 device compatibility


While publishing my android application on google play, it is showing 0 device compatible. Can anyone help me out why is that so? But while using on many other devices it is working

Piece of manifest is as shown below

<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="com.myapp.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

<permission
    android:name="com.myapp.gcm.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />

<uses-permission android:name="com.myapp.gcm.permission.C2D_MESSAGE" />
<uses-permission
    android:name="android.permission.FLASHLIGHT"
    android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
    android:protectionLevel="normal" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

<permission
    android:name="com.myapp.app.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="false" />
<uses-feature android:name="android.hardware.camera"/>
<uses-feature
    android:name="android.hardware.camera.front" />
<uses-feature
    android:name="android.hardware.camera.flash"
    android:required="false" />
<uses-feature android:name="android.hardware.camera.setParameters"/>

And in gradle

    android {
    useLibrary 'org.apache.http.legacy'
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "com.myapp.app"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 2
        versionName "1.0.1"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

I have checked many other links and have changed configuration for camera, which was camera2 and now it is camera. I am dont know where is what going wrong and I am publishing app for the first time on google play.


Solution

  • Your MAPS_RECEIVE permissions do not have the same package names --

    <uses-permission android:name="com.stylabs.styfi.app.permission.MAPS_RECEIVE" />
    

    vs

    <permission
        android:name="com.myapp.app.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />
    

    For recent versions of google maps, I believe it safe to just remove those as they are no longer required, but if you keep them, the package names should match.

    Per comment below, your GCM permissions also look wrong because they don't match either of the MAPS_RECEIVE package names. They do match each other, so might not be cauing filtering out of devices in the store, but will prevent GCM from working properly, so those packages should be updated with your package name, too.