Play 控制台支持的设备 0

Sid*_*rth 0 android android-manifest google-play

Play 管理中心显示“支持的设备 0”。

问题

  1. 我应该等待发布完成吗?
  2. 我是否应该期望支持的设备数量在上传后立即增加 > 0?

我需要相机功能,如果没有相机,如果它没有出现在该设备的游戏商店中,我也没关系。

我的清单文件的相关部分如下。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          package="<mypackagename>">


    <!-- Without this Google Play Store will not support any device -->
    <supports-screens
        android:anyDensity="true"
        android:largeScreens="true"
        android:normalScreens="true"
        android:resizeable="true"
        android:smallScreens="true"
        android:xlargeScreens="true" />

    <!-- For Options menu call support -->
    <uses-permission android:name="android.permission.CALL_PHONE"/>

    <!-- To auto-complete the email text field in the login form with the user's emails -->
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <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" />

    <!-- To auto-complete the email text field in the login form with the user's emails -->
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <!-- For the background service to run forever -->
    <uses-permission android:name="android.permission.WAKE_LOCK"/>

    <!-- For Current Location on Driver App -->
    <permission
        android:name="${manifestApplicationId}.permission.MAPS_RECEIVE"
        android:protectionLevel="signature"/>

    <uses-permission android:name="${manifestApplicationId}.permission.MAPS_RECEIVE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

    <!-- For QR Code -->
    <uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-feature android:name="android.hardware.camera2"/>
    <uses-permission android:name="android.permission.GET_TASKS"/>

    <!-- Google Cloud Messaging -->
    <uses-permission
        android:name="${manifestApplicationId}.permission.C2D_MESSAGE"
        android:protectionLevel="signature"/>
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>

    <!-- This must be set to true, since Google Maps V2.0 needs this -->
    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true"/>

    <application
        android:name="<mypackagename>.InitializingApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:supportsRtl="true"
        android:theme="@style/AppTheme.NoActionBar">
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version"/>

        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="${mapsKey}"/>

        <activity
            android:name="<mypackagename>.SplashScreen"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:label="<AppliationName>"
            android:screenOrientation="portrait"
            android:theme="@style/AppTheme.NoActionBar.Translucent"
            android:noHistory="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <activity
            android:name="<mypackagename>.DeviceProvision"
            android:label="@string/title_activity_device_provision"
            android:screenOrientation="portrait"/>
        <activity
            android:name="<mypackagename>.PassengerHome"
            android:label="@string/title_activity_passenger_home"
            android:screenOrientation="portrait"
            android:theme="@style/AppTheme.NoActionBar"/>



    </application>

</manifest>
Run Code Online (Sandbox Code Playgroud)

编辑 :

使用<uses-feature android:name="android.hardware.camera2"/>给我 0 个支持的设备。

使用<uses-feature android:name="android.hardware.camera2" required=false/>给了我完整的 8900 个设备。

胡说些什么 ?我应该只能选择带有摄像头的设备。这是什么傻逼设定?

而且我不用等待发布完成,仅仅上传就将支持的设备数量增加到了 8900 个。

fur*_*kan 5

您获得 0 个受支持的设备,因为您需要不存在的功能。没有这样的功能称为android.hardware.camera2.

android.hardware.camera2是提供Camera接口的包。所以,这就是包装而不是功能标签。

如果您的应用程序需要相机,请从以下功能中进行选择:

  • <uses-feature android:name="android.hardware.camera"/>- 如果需要后置摄像头
  • <uses-feature android:name="android.hardware.camera.front"/>- 如果前面...
  • <uses-feature android:name="android.hardware.camera.any"/>- 任何相机都可以

源: https: //developer.android.com/guide/topics/manifest/uses-feature-element.html

而且我不用等待发布完成,仅仅上传就将支持的设备数量增加到了 8900 个。

是的,一旦上传,Play 商店就可以访问您的 apk 文件。这样就可以运行了

aapt dump badging <path-to-apk>
Run Code Online (Sandbox Code Playgroud)

并获取您请求的设备功能列表。你可以自己尝试一下。从命令行运行它。