应用程序在 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 种情况(模拟器/物理设备)。
尝试完成以下故障排除后,我成功解决了该问题。 解决方案列于编号 (4)。
请注意,我确实实现了上面链接中@G26bandit提到的步骤,因为它们已经是我正在遵循的“应用程序构建教程”的一部分。他们仍然在原地。
现在,只需运行节点服务器 $ npm start 重置缓存
并运行应用程序 $ npm 运行 android
我很高兴问题已得到解决。希望这对其他人有帮助。