Android MySQL 异常错误

Posted

技术标签:

【中文标题】Android MySQL 异常错误【英文标题】:Android MySQL Exception Error 【发布时间】:2012-07-15 21:29:19 【问题描述】:

我正在尝试对 android 应用程序中的数据库执行简单查询。但是每次执行该方法时程序都会崩溃。有人对如何解决这个问题有任何建议吗?

这是错误日志消息:

07-15 17:20:23.623:错误/AndroidRuntime(544):未捕获的处理程序: 由于未捕获的异常07-15 17:20:23.643,线程主退出: 错误/AndroidRuntime(544):java.lang.VerifyError: com.mysql.jdbc.MysqlIO 07-15 17:20:23.643: 错误/AndroidRuntime(544): 在 com.mysql.jdbc.Connection.createNewIO(Connection.java:2771) 07-15 17:20:23.643:错误/AndroidRuntime(544):在 com.mysql.jdbc.Connection.(Connection.java:1555) 07-15 17:20:23.643:错误/AndroidRuntime(544):在 com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285) 07-15 17:20:23.643: 错误/AndroidRuntime(544): 在 java.sql.DriverManager.getConnection(DriverManager.java:191) 07-15 17:20:23.643:错误/AndroidRuntime(544):在 java.sql.DriverManager.getConnection(DriverManager.java:226)

这是我的连接:

String url = "jdbc:mysql://192.126.0.1:3306/";
        String db = "db";
        String driver = "com.mysql.jdbc.Driver";
        String table = "table";
        Connection conn = null;

        try 
            Class.forName(driver);
            try 
                conn = DriverManager.getConnection(url+db,"root","");

                conn.close();

             catch (SQLException s) 
                s.printStackTrace();
            
         catch (ClassNotFoundException cnfe)
            System.out.println("ERROR");
        

【问题讨论】:

【参考方案1】:

您在编译时环境中有不同版本的 JDBC 驱动程序,在运行时环境中有不同版本。扫描您的磁盘和设备以查找mysql-connector*.jar,并确保您周围只有一个。

【讨论】:

我正在使用模拟器。如何扫描运行时环境? @scriptdiddy - 使用busybox find -name 'mysql*jar' 命令。或另见答案here。【参考方案2】:

我也在开发一个带有在线 mysql 数据库的 android 应用程序。我认为您不能像在 java 应用程序中那样直接连接它。您应该编写 php 文件并将它们放在服务器上。他们将连接到数据库并向您发送 JSON 格式的数据...

【讨论】:

以上是关于Android MySQL 异常错误的主要内容,如果未能解决你的问题,请参考以下文章

异常:android.app.RemoteServiceException 从包发布的错误通知

远程服务异常错误

致命异常错误Android

Android Retrofit+RxJava 优雅的处理服务器返回异常错误

Android,错误套接字异常 (SOCKS)

Unity Android 构建错误 WIN32 异常 ZipAlign