《android 导入第三方源码jar包遇到的坑》

Posted on 2016-05-22 11:04  Mr.ning  阅读(9356)  评论(0编辑  收藏  举报

最近想做个app,里面需要有一个二维码扫描的功能,然后谷歌之后发现Zxing这个用的人好多,就看看怎么用;

然后就在github上拉下他们的源码,导入eclipse,然后编译之后导出为jar文件【用的android studio做安卓的,不过不知道怎么导出……】

然后将导出好的jar文件导入android studio 的时候问题来了,每次编译后都在报错:

 

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.

 

好吧说明已经很清楚了,某个地方需要加两句话,可以不明白到底要在哪里加啊;于是经历了各种千辛万苦(百度,谷歌,QQ群……)耗时一天半,终于搞定了;

下面是解决办法

1.首先在github上拉取源码后,在eclipse里面打包的时候需要给要打包的文件目录下面加一个文件  build.gradle 然后里面的内容就是:

apply plugin: 'java'

sourceCompatibility = 1.7
targetCompatibility = 1.7

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

2.然后eclipse打包的时候请在build path那里指定jdk版本为1.7 

3.将新打包好的jar包导入android studio中,然后jar包上右击,选择 as a library,debug运行成功!!!

最终文件的目录结构是这样的: build.gradle 中的内容就是第一步中的内容