【发布时间】:2019-11-23 11:37:49
【问题描述】:
Firebird 有问题。我从未与 DB 合作过。服务器 firebird 1.5 上的数据库。
将 lib:
firebird-full-2.2.4添加到 libs 文件夹将此添加到 Gradle:
implementation fileTree('libs')-
将此添加到 MainActivity:
Class.forName("org.firebirdsql.jdbc.FBDriver") val connection = DriverManager.getConnection( "jdbc:firebirdsql://jdbc:firebirdsql:193.###.###.13/3050:Scool", "###", "###") connection.close() 开始后我有这个:
E/AndroidRuntime: 致命 例外:主要 进程:success.kneu,PID:12219 java.lang.NoClassDefFoundError:解析失败:Ljavax/resource/Referenceable; 在 java.lang.Class.classForName(本机方法) 在 java.lang.Class.forName(Class.java:400) 在 java.lang.Class.forName(Class.java:326) 在success.kneu.LoginActivity$onCreate$1.onClick(LoginActivity.kt:48) 在 android.view.View.performClick(View.java:5647) 在 android.view.View$PerformClick.run(View.java:22465) 在 android.os.Handler.handleCallback(Handler.java:754) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:163) 在 android.app.ActivityThread.main(ActivityThread.java:6238) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823) 引起:java.lang.ClassNotFoundException:javax.resource.Referenceable 在 java.lang.VMClassLoader.findLoadedClass(本机方法) 在 java.lang.ClassLoader.findLoadedClass(ClassLoader.java:742) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:362) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:312) 在 java.lang.Class.classForName(本机方法) 在 java.lang.Class.forName(Class.java:400) 在 java.lang.Class.forName(Class.java:326) 在success.kneu.LoginActivity$onCreate$1.onClick(LoginActivity.kt:48) 在 android.view.View.performClick(View.java:5647) 在 android.view.View$PerformClick.run(View.java:22465) 在 android.os.Handler.handleCallback(Handler.java:754) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:163) 在 android.app.ActivityThread.main(ActivityThread.java:6238) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823) 引起:java.lang.NoClassDefFoundError:解析失败:Ljavax/naming/Referenceable; 在 java.lang.Class.classForName(本机方法) 在 java.lang.Class.forName(Class.java:400) 在 java.lang.Class.forName(Class.java:326) 在success.kneu.LoginActivity$onCreate$1.onClick(LoginActivity.kt:48) 在 android.view.View.performClick(View.java:5647) 在 android.view.View$PerformClick.run(View.java:22465) 在 android.os.Handler.handleCallback(Handler.java:754) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:163) 在 android.app.ActivityThread.main(ActivityThread.java:6238) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823) 原因:java.lang.ClassNotFoundException:在路径上找不到类“javax.naming.Referenceable”:DexPathList [[zip 文件 “/data/app/success.kneu-1/base.apk”,压缩文件 “/data/app/success.kneu-1/split_lib_dependencies_apk.apk”,压缩文件 “/data/app/success.kneu-1/split_lib_slice_0_apk.apk”,压缩文件 “/data/app/success.kneu-1/split_lib_slice_1_apk.apk”,压缩文件 “/data/app/success.kneu-1/split_lib_slice_2_apk.apk”,压缩文件 “/data/app/success.kneu-1/split_lib_slice_3_apk.apk”,压缩文件 “/data/app/success.kneu-1/split_lib_slice_4_apk.apk”,压缩文件 “/data/app/success.kneu-1/split_lib_slice_5_apk.apk”,压缩文件 “/data/app/success.kneu-1/split_lib_slice_6_apk.apk”,压缩文件 “/data/app/success.kneu-1/split_lib_slice_7_apk.apk”,压缩文件 “/data/app/success.kneu-1/split_lib_slice_8_apk.apk”,压缩文件 "/data/app/success.kneu-1/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/success.kneu-1/lib/arm64, /system/lib64, /vendor/lib64]] 在 dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:380) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:312) 在 java.lang.Class.classForName(本机方法) 在 java.lang.Class.forName(Class.java:400) 在 java.lang.Class.forName(Class.java:326) 在success.kneu.LoginActivity$onCreate$1.onClick(LoginActivity.kt:48) 在 android.view.View.performClick(View.java:5647) 在 android.view.View$PerformClick.run(View.java:22465) 在 android.os.Handler.handleCallback(Handler.java:754) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:163) 在 android.app.ActivityThread.main(ActivityThread.java:6238) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823) 2019-07-14 17:37:03.815 12219-12219/? I/Process:发送信号。 PID: 12219 SIG:9
【问题讨论】:
-
当您在 Android 上使用 JDBC 时,请阅读:JDBC vs Web Service for Android
-
如果你有一个
firebird-full-2.2.4.jar,它可能是一个来源可疑的罐子,因为正态分布称它为jaybird-full-2.2.4.jar。
标签: android kotlin firebird jaybird