Android连接 Mysql: 解决mysql-connector-java驱动编译时Dex cannot parse version 52 byte code...等错误

Error:Error converting bytecode to dex:
Cause: Dex cannot parse version 52 byte code.
This is caused by library dependencies that have been compiled using Java 8 or above.
If you are using the 'java' gradle plugin in a library submodule add 
targetCompatibility = '1.7'
sourceCompatibility = '1.7'
to that submodule's build.gradle file.
...while parsing com/mysql/jdbc/JDBC42CallableStatement.class
Error:1 error; aborting
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: Unable to pre-dex '/Users/jack/.gradle/caches/modules-2/files-2.1/mysql/mysql-connector-java/5.1.38/dbbd7cd309ce167ec8367de4e41c63c2c8593cc5/mysql-connector-java-5.1.38.jar' to '/Users/jack/Documents/h5perf/TestUCWebView/app/build/intermediates/transforms/dex/debug/folders/1000/10/mysql-connector-java-5.1.38_257c5be60bd0dfff54a4f47de74485ea5ba8c67e'

做一个简单的数据库应用,打算直接把客户端和数据库连接起来,省去用java或者php去写后端接口程序。因此想到了在Android端用mysql-connector-java驱动包直接访问服务器上的数据库(首先说明这是可行的)。 于是去Mysql官网找到了最新版的jar包下载,直接把mysql-connector-java-5.1.40-bin.jar(开发版最新为6.0.5)引入Android工程,(我用的是Android Studio)Build没有任何问题,但是在构建APK的时候出错了,错误也就是文章开头那个。 错误的意思大概是这个包不支持Java8(52是Java8的字节码版本号),需要你去build.gradle里手动修改项目的兼容性到1.7。网上查了很多很多资料都是这个解决办法,然而并无用。

还尝试了6.0.5的开发版、降低JDK版本等,仍旧报错。然后我在Intellij IDEA下建了个普通的Java工程,连接数据库的代码不变,同样引入jar包,居然成功了(能够远程连接我云服务器上的数据库并进行数据操纵)。
因此,看来这并不是什么Java版本的问题,而是mysql-connector-java-5.1.40-bin.jar这个版本的驱动和Android编译不兼容的问题,最后,通过Google找到了解决办法。
直接用低版本的比如mysql-connector-java-5.1.36-bin.jar引入Android工程即可,成功立竿见影。

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

最后附上如何连接Mysql数据库并进行增删查改的Java代码: http://blog.csdn.net/lxp116/article/details/9175551

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,049评论 25 707
  • 相同的时间,相同的地点,相同的音乐,同样倚着暖气热水器,同样泡着脚丫,同样开始写今天的文。 今天身体感觉有点累,好...
    慧心如莲阅读 133评论 0 0
  • 文/张又可 节选自张又可散文集《青春的遗嘱》 早起、晚睡,让自己多给青黄不接的时光一点时间,成就梦想…… 在大观楼...
    张又可阅读 561评论 1 0
  • 郭相麟 人生是个修炼场,做个有深度有内涵的人是一个艰苦的发现、改变的过程! 如走在杂草丛生的田埂上,看到堆放的稻...
    郭相麟阅读 62评论 0 0
  • 车窗外飘落雪花 一片片冰清玉洁 伸出手 让雪花飞旋在掌心 却已被雪的冰凉冷透 时间仿佛凝结在那一刻 霎那间 大雪纷...
    小脚丫头片子阅读 413评论 2 20