javascript - java.lang.NoClassDefFoundError:解析失败:Lexpo/modules/updates/db/DatabaseHolder;
问题描述
我正在托管工作流中的 expo 中使用 React native 制作应用程序。
使用expo build:android -t apk
生成了 apk 文件,但是当我尝试运行它时,应用程序崩溃了。
它是否与异步存储有关?如何在不弹出项目的情况下修复它?
以下是总结——
java.lang.NoClassDefFoundError: Failed resolution of: Lexpo/modules/updates/db/DatabaseHolder;
at host.exp.exponent.m.a.<init>(NativeModuleDepsProvider.java:11)
at host.exp.exponent.m.a.c(NativeModuleDepsProvider.java:2)
at g.a.a.b.<init>(Exponent.java:7)
at g.a.a.b.m(Exponent.java:2)
at host.exp.exponent.e.onCreate(ExpoApplication.java:9)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1120)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5826)
at android.app.ActivityThread.-wrap1(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1685)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:6651)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:824)
Caused by: java.lang.ClassNotFoundException: Didn't find class "expo.modules.updates.db.DatabaseHolder" on path: DexPathList[[zip file "/data/app/com.shuxton.tinnitus-opg0acEG2oe2-DZwFQt76Q==/base.apk"],nativeLibraryDirectories=[/data/app/com.shuxton.tinnitus-opg0acEG2oe2-DZwFQt76Q==/lib/arm64, /data/app/com.shuxton.tinnitus-opg0acEG2oe2-DZwFQt76Q==/base.apk!/lib/arm64-v8a, /system/lib64, /system/vendor/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
... 15 more
这是我的 package.json 文件
{
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"eject": "expo eject"
},
"dependencies": {
"@expo/vector-icons": "^10.2.1",
"@material-ui/core": "^4.11.0",
"@react-native-community/async-storage": "~1.12.0",
"@react-native-community/datetimepicker": "3.0.0",
"@react-native-community/masked-view": "0.1.10",
"@react-native-community/slider": "3.0.3",
"@react-navigation/bottom-tabs": "^5.9.0",
"@react-navigation/native": "^5.7.4",
"@react-navigation/stack": "^5.9.1",
"expo": "~39.0.2",
"expo-av": "~8.6.0",
"expo-constants": "~9.2.0",
"expo-notifications": "~0.7.2",
"expo-permissions": "~9.3.0",
"expo-sms": "~8.3.1",
"expo-status-bar": "~1.0.2",
"libphonenumber-js": "^1.8.1",
"react": "16.13.1",
"react-bootstrap": "^1.3.0",
"react-dom": "16.13.1",
"react-native": "https://github.com/expo/react-native/archive/sdk-39.0.2.tar.gz",
"react-native-chart-kit": "^6.6.1",
"react-native-gesture-handler": "~1.7.0",
"react-native-reanimated": "~1.13.0",
"react-native-safe-area-context": "3.1.4",
"react-native-screens": "~2.10.1",
"react-native-svg": "^12.1.0",
"react-native-web": "~0.13.12",
"react-native-webview": "10.7.0",
"react-navigation": "^4.4.1"
},
"devDependencies": {
"@babel/core": "~7.9.0"
},
"private": true
}
解决方案
推荐阅读
- android - 如何检查android手机中是否可以使用显示在其他应用程序上的功能
- kubernetes - kubectl - 错误:您必须登录到服务器(服务器已要求客户端提供凭据)
- android-emulator - Android 模拟器 - 无法重置您设备上的状态
- c# - DbContext ,实体框架 6,查询当前会话中添加的实体
- sql-server - Rowversion 字段导致 BULK INSERT 仅导入每隔一行
- python - C语言中是否有像Python这样的“If in”关键字?
- mysql - 从 Google Sheet 将可用日期写入 MySQL
- html - 网站文本未加载/在某些设备中不可见
- mysql - 在mysql中过滤重新打开的票
- c++ - cout函数调用中的未定义行为?