我正在尝试在Google Play商店上发布我的react-native应用程序,它显示支持0设备。
我设法找到错误“不支持必需的功能 -设备目录中的android.hardware.camera2”,并遵循了Android app is supported by 0 devices和其他许多解决方案。
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
}
答案 0 :(得分:0)
首先,如果您只是将所有内容都设置为true,则不应包含支持屏幕元素。不会成为问题的原因,但这是一个错误。
但是看着您的应用程序(我为Google Play工作),您似乎已经用问题中的答案自己解决了问题。
答案 1 :(得分:0)
如果有人遇到这个问题 在camera和camera2功能标签中添加required=false
答案 2 :(得分:0)
检查所有标签是否具有有效值。例如,如果您拼错了相机,或者创建了一个没有有效名称的标签,您将获得 0 台设备支持。
https://developer.android.com/guide/topics/manifest/uses-feature-element#features-reference