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.
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.