![](/img/trans.png)
[英]React-Native Expo, Facebook login not working on Android device
[英]react-native apk not working on the android device
這是我的第一個 react-native 項目,它非常簡單,只有 2 個屏幕。 這兩個模塊在生產中都運行良好。 我正在使用帶有裸露工作流程的博覽會。
adb logcat 是這樣的:-
FATAL EXCEPTION: mqt_native_modules
03-31 16:13:04.953 20227 20264 E AndroidRuntime: Process: com.project1, PID: 20227
03-31 16:13:04.953 20227 20264 E AndroidRuntime: com.facebook.react.common.JavascriptException: Invariant Violation: "project1" has not been registered. This can happen if:
03-31 16:13:04.953 20227 20264 E AndroidRuntime: * Metro (the local dev server) is run from the wrong folder. Check if Metro is running, stop it and restart it in the current project.
03-31 16:13:04.953 20227 20264 E AndroidRuntime: * A module failed to load due to an error and `AppRegistry.registerComponent` wasn't called., stack:
03-31 16:13:04.953 20227 20264 E AndroidRuntime: runApplication@337:1948
03-31 16:13:04.953 20227 20264 E AndroidRuntime: value@27:3685
03-31 16:13:04.953 20227 20264 E AndroidRuntime: <unknown>@27:841
03-31 16:13:04.953 20227 20264 E AndroidRuntime: value@27:2939
03-31 16:13:04.953 20227 20264 E AndroidRuntime: value@27:813
03-31 16:13:04.953 20227 20264 E AndroidRuntime: value@-1
03-31 16:13:04.953 20227 20264 E AndroidRuntime:
03-31 16:13:04.953 20227 20264 E AndroidRuntime: at com.facebook.react.modules.core.ExceptionsManagerModule.reportException(ExceptionsManagerModule.java:71)
03-31 16:13:04.953 20227 20264 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
03-31 16:13:04.953 20227 20264 E AndroidRuntime: at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:371)
03-31 16:13:04.953 20227 20264 E AndroidRuntime: at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:150)
03-31 16:13:04.953 20227 20264 E AndroidRuntime: at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
03-31 16:13:04.953 20227 20264 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:883)
03-31 16:13:04.953 20227 20264 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:100)
03-31 16:13:04.953 20227 20264 E AndroidRuntime: at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:26)
03-31 16:13:04.953 20227 20264 E AndroidRuntime: at android.os.Looper.loop(Looper.java:214)
03-31 16:13:04.953 20227 20264 E AndroidRuntime: at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:225)
03-31 16:13:04.953 20227 20264 E AndroidRuntime: at java.lang.Thread.run(Thread.java:919)
我不知道是什么導致了錯誤。 請幫忙
我的 package.json 看起來像這樣:
{
"scripts": {
"android": "react-native run-android",
"ios": "react-native run-ios",
"web": "expo start --web",
"start": "react-native start",
"test": "jest"
},
"dependencies": {
"@react-native-community/masked-view": "^0.1.7",
"@react-navigation/native": "^5.1.4",
"@react-navigation/stack": "^5.2.9",
"expo": "~36.0.0",
"expo-ads-admob": "^8.1.0",
"react": "~16.9.0",
"react-dom": "~16.9.0",
"react-native": "~0.61.4",
"react-native-gesture-handler": "^1.5.6",
"react-native-reanimated": "^1.4.0",
"react-native-safe-area-context": "^0.7.3",
"react-native-screens": "^2.0.0-alpha.12",
"react-native-unimodules": "~0.7.0",
"react-native-web": "~0.11.7"
},
"devDependencies": {
"@babel/core": "~7.6.0",
"babel-jest": "~24.9.0",
"jest": "~24.9.0",
"metro-react-native-babel-preset": "~0.56.0",
"react-test-renderer": "~16.9.0"
},
"jest": {
"preset": "react-native"
},
"private": true
}
app.json 文件:-
{
"name": "Fifty Business Ideas",
"displayName": "Fifty Business Ideas",
"expo": {
"name": "Fifty Business Ideas",
"slug": "project1",
"privacy": "unlisted",
"sdkVersion": "36.0.0",
"version": "1.0.0",
"entryPoint": "node_modules/expo/AppEntry.js",
"platforms": [
"ios",
"android",
"web"
]
},
"android": {
"package": "com.artikgauravfb.fiftybusinessideas",
"versionCode": 1,
"permissions":[],
"icon":"./assets/icon.png",
"config": {
"googleMobileAdsAppId": "ca-app-pub-3886326456378130~9716552547"
}
}
}
我的 android 清單文件如下所示:-
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.project1">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<!-- OPTIONAL PERMISSIONS, REMOVE WHATEVER YOU DO NOT NEED -->
<uses-permission android:name="android.permission.MANAGE_DOCUMENTS" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- <uses-permission android:name="android.permission.USE_FINGERPRINT" /> -->
<!-- <uses-permission android:name="android.permission.VIBRATE" /> -->
<!-- <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> -->
<!-- These require runtime permissions on M -->
<!-- END OPTIONAL PERMISSIONS -->
<application
android:name=".MainApplication"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher_square"
android:roundIcon="@mipmap/ic_launcher"
android:allowBackup="false"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-3886326456378130~9716552547"/>
<meta-data android:name="com.google.android.gms.ads.AD_MANAGER_APP" android:value="true" />
</application>
</manifest>
我們也遇到過這個問題,請檢查您是否在 MainActivity.java 中更改了您的 android 項目名稱:
@Override protected String getMainComponentName() { return "YOUR_PROJECT_NAME" }
在 MainActivity.java、settings.gradle、.project、AndroidManifest.xml 以及在您注冊應用程序的入口文件中檢查它是否相同:
AppRegistry.registerComponent('YOUR_PROJECT_NAME', () => App);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.