【问题标题】:Google console showing 0 device compatibility谷歌控制台显示 0 设备兼容性
【发布时间】:2015-11-18 05:56:31
【问题描述】:

在 google play 上发布我的 android 应用程序时,它显示 0 设备兼容。谁能帮帮我,为什么会这样? 但是在许多其他设备上使用时,它正在工作

清单如下所示

<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,现在是相机。我不知道哪里出了问题,我是第一次在 google play 上发布应用程序。

【问题讨论】:

  • 我认为你做错了什么你提供的样本都没有错
  • 嗯,让我删除所有使用功能并尝试...让我看看会发生什么...这是否显示任何设备兼容...如果是,那么我猜是功能中的一些问题...别的地方
  • 您的清单中是否有支持屏幕或兼容屏幕?我认为其中一个是必需的。见documentation
  • 我还没有添加它们中的任何一个......好吧,让我试试吧
  • 你生成signAPK吗?用于 Play 商店上传?

标签: android google-play google-console-developer


【解决方案1】:

您的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" />

对于最新版本的谷歌地图,我认为删除它们是安全的,因为它们不再需要,但如果你保留它们,包名称应该匹配。

根据下面的评论,您的 GCM 权限看起来也有问题,因为它们与 MAPS_RECEIVE 包名称中的任何一个都不匹配。它们确实相互匹配,因此可能不会导致过滤掉商店中的设备,但会阻止 GCM 正常工作,因此也应使用您的包名称更新这些包。

【讨论】:

  • 我认为 GCM 也有这个错误
  • @VishalPatel 你是对的,GCM 权限相互匹配,但不匹配 MAPS_RECEIVE 权限。
  • 我把这个问题放在这里时实际上忘记更改了...对不起!!
【解决方案2】:

如果您列出一个实际上不存在的&lt;uses-feature&gt; 字符串,那么您将不会匹配任何设备。据我所知,没有这样的功能

<uses-feature android:name="android.hardware.camera.setParameters"/>

删除它,或者至少为它设置android:required="false"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-12
    • 1970-01-01
    • 1970-01-01
    • 2016-07-09
    • 1970-01-01
    相关资源
    最近更新 更多