首页 > 解决方案 > 支持的 Android 设备 0 台设备(不支持所需功能- android.hardware.camera2)

问题描述

我正在尝试在 Google Play 商店上发布我的 react-native 应用程序,它显示支持 0 个设备。

我设法从设备目录中找到错误“不支持所需的功能 - android.hardware.camera2”,并遵循所有提到的解决方案Android 应用程序支持 0 台设备和许多其他设备。

Google 支持建议我的 AndroidManifest.xml 存在问题,我无法弄清楚。

这是我的AndroidManifest.xml

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
              package="com.myApp"
              android:versionCode="16"
              android:versionName="1.0.16">

        <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="27" />
        <supports-screens android:largeScreens="true"
                          android:normalScreens="true"
                          android:smallScreens="true"
                          android:resizeable="true"
                          android:anyDensity="true" />

        <uses-permission android:name="android.permission.INTERNET"/>
        <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
        <uses-permission android:name="android.permission.CAMERA"/>
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
        <uses-permission android:name="android.permission.RECORD_AUDIO"/>
        <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
        <uses-permission android:name="android.permission.VIBRATE"/>

        <uses-feature android:name="android.hardware.microphone" android:required="false"/>
        <uses-feature android:name='android.hardware.wifi' android:required="false"/>
        <uses-feature android:name='android.hardware.screen.portrait' android:required="false"/>
        <uses-feature android:name="android.hardware.camera" android:required="false"/>
        <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
        <uses-feature android:name="android.hardware.faketouch" android:required="false" />
        <uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>



        <application
                android:name=".MainApplication"
                android:label="@string/app_name"
                android:icon="@mipmap/ic_launcher"
                android:theme="@style/AppTheme">
            <activity
                    android:name=".MainActivity"
                    android:label="@string/app_name"
                    android:launchMode="singleTask"
                    android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
                    android:screenOrientation="portrait"
                    android:windowSoftInputMode="adjustResize">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN"/>
                    <category android:name="android.intent.category.LAUNCHER"/>
                </intent-filter>
                <intent-filter>
                    <action android:name="android.intent.action.VIEW"/>
                    <category android:name="android.intent.category.DEFAULT"/>
                    <category android:name="android.intent.category.BROWSABLE"/>
                    <data
                            android:host="myApp.auth0.com"
                            android:pathPrefix="/android/com.myApp/callback"
                            android:scheme="com.myApp"/>
                </intent-filter>
            </activity>
            <activity android:name="

com.facebook.react.devsupport.DevSettingsActivity"/>
        <service android:name="io.invertase.firebase.messaging.RNFirebaseMessagingService">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT"/>
            </intent-filter>
        </service>
        <service android:name="io.invertase.firebase.messaging.RNFirebaseInstanceIdService">
            <intent-filter>
                <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
            </intent-filter>
        </service>
        <service android:name="io.invertase.firebase.messaging.RNFirebaseBackgroundMessagingService"/>
    </application>
</manifest>

这是我的 Build.gradle 所需信息

android {

    compileSdkVersion 27
    buildToolsVersion "27.0.3"

    defaultConfig {
        applicationId "xyz"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 16
        versionName "1.0.16"
        vectorDrawables.useSupportLibrary = true
        // ndk {
        //     abiFilters "armeabi-v7a", "x86"
        // }
        multiDexEnabled true
    }

标签: androidandroid-studioreact-nativeandroid-manifestreact-native-android

解决方案


如果有人遇到此问题,请在 camera 和 camera2 功能标签中添加 required=false


推荐阅读