Google 控制台显示 0 设备兼容性
Google console showing 0 device compatibility
在 google play 上发布我的 android 应用程序时,显示有 0 个设备兼容。谁能帮我弄清楚为什么会这样?
但是在许多其他设备上使用时它正在工作
一块manifest如下图
<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"/>
并在 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'
}
}
}
我检查了很多其他链接并更改了相机的配置,之前是 camera2,现在是 camera。我不知道哪里出了问题,我是第一次在 google play 上发布应用程序。
您的 MAPS_RECEIVE
权限没有相同的包名 --
<uses-permission android:name="com.stylabs.styfi.app.permission.MAPS_RECEIVE" />
对
<permission
android:name="com.myapp.app.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
对于 google 地图的最新版本,我认为删除它们是安全的,因为它们不再需要,但如果保留它们,包名称应该匹配。
根据下面的评论,您的 GCM 权限看起来也不对,因为它们与 MAPS_RECEIVE
包名称中的任何一个都不匹配。它们确实相互匹配,因此可能不会导致商店中的设备被过滤掉,但会阻止 GCM 正常工作,因此这些包也应该使用您的包名称进行更新。
如果您列出的 <uses-feature>
字符串实际上并不存在,那么您将不会匹配任何设备。据我所知,没有
这样的功能
<uses-feature android:name="android.hardware.camera.setParameters"/>
删除它,或者至少设置 android:required="false"
。
在 google play 上发布我的 android 应用程序时,显示有 0 个设备兼容。谁能帮我弄清楚为什么会这样? 但是在许多其他设备上使用时它正在工作
一块manifest如下图
<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"/>
并在 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'
}
}
}
我检查了很多其他链接并更改了相机的配置,之前是 camera2,现在是 camera。我不知道哪里出了问题,我是第一次在 google play 上发布应用程序。
您的 MAPS_RECEIVE
权限没有相同的包名 --
<uses-permission android:name="com.stylabs.styfi.app.permission.MAPS_RECEIVE" />
对
<permission
android:name="com.myapp.app.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
对于 google 地图的最新版本,我认为删除它们是安全的,因为它们不再需要,但如果保留它们,包名称应该匹配。
根据下面的评论,您的 GCM 权限看起来也不对,因为它们与 MAPS_RECEIVE
包名称中的任何一个都不匹配。它们确实相互匹配,因此可能不会导致商店中的设备被过滤掉,但会阻止 GCM 正常工作,因此这些包也应该使用您的包名称进行更新。
如果您列出的 <uses-feature>
字符串实际上并不存在,那么您将不会匹配任何设备。据我所知,没有
<uses-feature android:name="android.hardware.camera.setParameters"/>
删除它,或者至少设置 android:required="false"
。