java - JDBC 库在 Android Studio 中不工作

标签 java android jdbc

在libs文件夹中包含mysql-connector-java-8.0.17.jar并在gradle中设置依赖项

...    
implementation files('libs/mysql-connector-java-8.0.17.jar')
...

我收到此错误

处理'命令'C:\Program Files\Android\Android Studio\jre\bin\java.exe''以非零退出值1完成

特别

1)  java.lang.IllegalAccessException: no such method: com.mysql.cj.protocol.x.AsyncMessageReader.lambda$onError$0(Throwable,MessageListener)void/invokeStatic 2)    Caused by: java.lang.NoClassDefFoundError: com/google/protobuf/Message 3)   Caused by: java.lang.ClassNotFoundException: Class com.google.protobuf.Message not found

如何解决?谢谢大家的建议!

最佳答案

原因是 MySQL 驱动程序依赖于 protobuf 库。请参阅编译依赖部分 here

不要从本地添加库,而是使用以下内容。

// https://mvnrepository.com/artifact/mysql/mysql-connector-java
compile group: 'mysql', name: 'mysql-connector-java', version: '8.0.17'

抛开这一点,请在数据库上使用 API 层而不是 JDBC。不客气。

关于java - JDBC 库在 Android Studio 中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58289569/

相关文章:

java - SAML 身份验证后,用户似乎未分配给该角色

Java - java.util.InputMismatchException

android - 是否有正确的方法来测试用户提供的 SQLCipher 密码在 Android 上是否有效?

android - 如何让两个单独的按钮在一个 Activity 中做两件不同的事情?

java - 如何在 tomcat lib 文件夹中的代码中使用 ojdbc14 jar

java - 如何在Java中的JTextArea中追加数据?

java - 如何在 log4j2 上编写日志滚动集成测试

android - 如何使用 Retrofit 2 获得错误主体响应

java - PredictionIO:在 OSX 上为 postgresql 安装 JDBC 驱动程序

java - ProGuard Android - JDBC 错误 - NullPointerException