如何修复 Android Studio 中的 React Native 应用程序错误?

Posted

技术标签:

【中文标题】如何修复 Android Studio 中的 React Native 应用程序错误?【英文标题】:How to fix React Native app error in Android Studio? 【发布时间】:2020-11-15 22:01:37 【问题描述】:

当我尝试在 android Studio 中运行我的 React Native 应用程序时出现以下错误。

运行应用程序时,它尝试启动,但失败并显示以下错误。

07/26 15:05:47: Launching 'app' on Pixel 3 API R.
$ adb shell am start -n "com.recetasdemiyaya/com.recetasdemiyaya.SplashActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Connected to process 6259 on device 'Pixel_3_API_R [emulator-5554]'.
Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.
I/recetasdemiyay: Not late-enabling -Xcheck:jni (already on)
I/recetasdemiyay: Unquickening 13 vdex files!
W/recetasdemiyay: Unexpected CPU variant for X86 using defaults: x86
I/recetasdemiyay: The ClassLoaderContext is a special shared library.
D/NetworkSecurityConfig: No Network Security Config specified, using platform default
    No Network Security Config specified, using platform default
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.recetasdemiyaya, PID: 6259
    java.lang.RuntimeException: Unable to instantiate application com.recetasdemiyaya.MainApplication: java.lang.ClassNotFoundException: Didn't find class "com.recetasdemiyaya.MainApplication" on path: DexPathList[[zip file "/data/app/~~CE-MOv3Jm55BXMcdUPlUeg==/com.recetasdemiyaya-889WixNrp2DNabkeMOGRLA==/base.apk"],nativeLibraryDirectories=[/data/app/~~CE-MOv3Jm55BXMcdUPlUeg==/com.recetasdemiyaya-889WixNrp2DNabkeMOGRLA==/lib/x86, /data/app/~~CE-MOv3Jm55BXMcdUPlUeg==/com.recetasdemiyaya-889WixNrp2DNabkeMOGRLA==/base.apk!/lib/x86, /system/lib, /system_ext/lib, /product/lib]]
        at android.app.LoadedApk.makeApplication(LoadedApk.java:1211)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6521)
        at android.app.ActivityThread.access$1300(ActivityThread.java:229)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1885)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:216)
        at android.app.ActivityThread.main(ActivityThread.java:7464)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:955)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.recetasdemiyaya.MainApplication" on path: DexPathList[[zip file "/data/app/~~CE-MOv3Jm55BXMcdUPlUeg==/com.recetasdemiyaya-889WixNrp2DNabkeMOGRLA==/base.apk"],nativeLibraryDirectories=[/data/app/~~CE-MOv3Jm55BXMcdUPlUeg==/com.recetasdemiyaya-889WixNrp2DNabkeMOGRLA==/lib/x86, /data/app/~~CE-MOv3Jm55BXMcdUPlUeg==/com.recetasdemiyaya-889WixNrp2DNabkeMOGRLA==/base.apk!/lib/x86, /system/lib, /system_ext/lib, /product/lib]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:202)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at android.app.AppComponentFactory.instantiateApplication(AppComponentFactory.java:76)
        at androidx.core.app.CoreComponentFactory.instantiateApplication(CoreComponentFactory.java:49)
        at android.app.Instrumentation.newApplication(Instrumentation.java:1158)
        at android.app.LoadedApk.makeApplication(LoadedApk.java:1203)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6521) 
        at android.app.ActivityThread.access$1300(ActivityThread.java:229) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1885) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:216) 
        at android.app.ActivityThread.main(ActivityThread.java:7464) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:955) 

在事件日志部分,它显示以下错误:

检测到不支持的模块:不支持编译 以下模块:lottie-react-native、react-native-admob、 android-react-native-fbsdk,android-react-native-onesignal, android-react-native-fast-image,android-react-native-blur, android-react-native-webview, android-react-native-vector-icons, android-react-native-gesture-handler, android-react-native-linear-gradient, android-react-native-admob, android-lottie-react-native,react-native-blur,react-native-fbsdk, react-native-onesignal,react-native-gesture-handler, react-native-vector-icons, react-native-linear-gradient, react-native-fast-image,react-native-webview。不幸的是你不能 在一个项目中包含非 Gradle Java 模块和 Android-Gradle 模块

.

当我尝试使用react-native run-android 命令从项目的根目录在终端中运行应用程序时,应用程序会立即显示,但它没有开始工作,但它没有显示错误.

但是,当我运行 react-native run-ios 命令时,应用程序在我的模拟器中运行良好。

我的经验很少,我的英语水平也很少,所以我不知道去哪里以及在我的项目中查看哪里来纠正 Android Studio 显示给我的错误。

我已经更新了Android Studio,因为我在来问之前已经阅读过类似的问题,但是我不知道如何消除LA CACHES / RESTART => INVALIDATE CACHES & RESTART,我看到了in another question

我应该如何处理无效缓存?

我仍在寻找解决方案,但我找不到方法,我一直在寻找其他问题,但我认为我看起来不正确,这就是我在这里的原因。

你能帮帮我吗?

谢谢

【问题讨论】:

【参考方案1】:

1- 关闭项目

2- 关闭 Android Studio IDE

3- 删除.idea目录

4- 删除所有 .iml 文件

5- 打开 Android Studio IDE 并导入项目

如果问题仍然存在,请将项目复制到其他位置并在 Android Studio 中再次打开。

【讨论】:

谢谢@BhanderPathania,我已经听从了你的建议,但它不起作用。现在另一个错误:FAILURE: Build failed with an exception. * What went wrong: Expected org.gradle.api.artifacts.result.ResolvedDependencyResult but found org.gradle.api.internal.artifacts.result.DefaultUnresolvedDependencyResult【参考方案2】:

清洁 gradlew 对我有用

cd android && ./gradlew clean && cd ..

【讨论】:

以上是关于如何修复 Android Studio 中的 React Native 应用程序错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 Android Studio 中的 React Native 应用程序错误?

如何修复 Android Studio 中的 INSTALL_FAILED_INVALID_APK 错误?

如何修复 Android Studio 中的 Lottie 错误 - 'Error:Execution failed for task' java.lang.RuntimeException [...

如何在运行应用程序时修复 android studio 版本 3.6.2 中的“无法解析结果路径字符串:”错误?

如何修复 Android Studio 中的“使用 JsonReader.setLenient(true) 在第 1 行第 1 列路径 $ 处接受格式错误的 JSON”错误

如何解决android studio中的错误:Android资源链接失败