React 应用程序(裸机)在 Android 上启动后立即崩溃。安装了 Expo-core-modules,工作正常。安装了 Expo-camera,崩溃了

问题描述 投票:0回答:1

应用程序在 Android 模拟器上启动后就会崩溃,甚至在显示 app.tsx 页面内容之前就崩溃了。

应用程序构建成功,但 Logcat 显示一些致命异常:

致命异常:主要 进程:com.valhalla,PID:26240 java.lang.RuntimeException:无法获取提供程序 com.google.mlkit.common.internal.MlKitInitProvider:java.lang.ClassNotFoundException:在路径上找不到类“com.google.mlkit.common.internal.MlKitInitProvider”:DexPathList [[zip 文件“/data/app/~~A7kyXyor_Na1MF7n5uEUNg==/com.valhalla-GpphL_ikUmkO2EFehLIkSQ==/base.apk”]

我的应用程序是一个裸露的本机React应用程序,最近我安装了

expo-core-modules
它仍然可以工作,但是一旦我安装了
expo-camera
,崩溃问题就开始了。

dependencies

"react": "18.2.0",
"react-native": "0.74.5",
"expo": "^51.0.0",
"expo-camera": "\~15.0.16"

devdependencies

"@types/react": "\~18.2.79",
"typescript": "\~5.3.3"

发动机:

"node": "\>=18"

确切的博览会版本:51.0.38

我在其他论坛上注意到,人们提到更新对他们有用的依赖项。我已将所有 Expo 依赖项更新到最新版本。

我已经在两台具有相同版本和依赖项的不同笔记本电脑上尝试过在 Android 模拟器 API 34 和 35 上构建应用程序。还在旧的物理 Android 设备 API 27(Oneplus 3 工作条件)上进行了尝试。所有 3 种情况的行为完全相同,即应用程序立即打开并崩溃。

一旦我将源代码恢复到安装 expo-camera 之前的状态,即返回到 expo-core-modules,该应用程序将再次适用于上述所有 3 种情况(模拟器/物理设备)。

reactjs react-native expo-camera expo-core-modules
1个回答
0
投票

尝试完成以下故障排除后,我成功解决了该问题。 解决方案列于编号 (4)。

  1. 确保所有 Expo 依赖项均更新至最新版本。 $ npx expo install --fix
  2. 通过 Android Studio Logcat 捕获“异常”。
  3. 参考了下面的链接,该链接表现出与我的案例中相同的崩溃行为,这是在安装 expo-camera 模块之后。但是,在这种情况下,构建失败,而我的应用程序构建成功。 expo-camera 模块破坏了 React Native 应用程序

请注意,我确实实现了上面链接中@G26bandit提到的步骤,因为它们已经是我正在遵循的“应用程序构建教程”的一部分。他们仍然在原地。

  1. 在“Project/android”文件夹中运行 ./gradlew clean (使用项目的 gradle 包装器来执行项目的 clean 任务。通常,这仅意味着删除构建目录,即 Project/android/app/build 目录。)

现在,只需运行节点服务器 $ npm start 重置缓存

并运行应用程序 $ npm 运行 android

我很高兴问题已得到解决。希望这对其他人有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.