最近要用到二维码的功能,发现网络上关于二维码的信息还是很多的,不过都是关于谷歌的开源项目zxing,就这样开始熟悉Zxing这个项目了。
项目的github地址:https://github.com/zxing/zxing/tree/zxing-3.2.1
解压后的文件内容如下,将android中的内容就是项目的内容,导入即可。实际用的时候只用到android,core和android-core文件夹。
最新版的是Zxing-3.2.1,下载后导入工程发现有错误,没有导入jar文件。下面就两种方法来处理这样的错误。
1.直接导入使用编译好的jar包
如果下载的版本不是很新,一般都能在网上找到,找到后直接导入包就可以了。
方法:点击导入后的项目-右键-BuildPath-add external archives,添加相应版本的jar包就可以了。
2.使用自己编译好的jar包
编译工具准备:
Maven: http://maven.apache.org/
下载链接:
Maven: http://maven.apache.org/download.cgi
下载后放在合适的路径下解压,然后将bin目录添加到环境变量Path中
我存放的位置是:F:\Android\apache-maven-3.3.3\bin
点击计算机-属性-高级系统设置-环境变量,找到Path,将其添加到其中即可。
可以在命令窗口验证:
手动编译的配置:
首先,从命令行进入到zxing-zxing-3.2.1目录下:
输入如下命令:
android update project --path android
成功后就可以看到zxing-zxing-3.2.1\android目录下新增了一个名为local.properties的文件,里面内容是:sdk.dir=你的Android SDK目录。
注意:要将sdk目录下的tools添加到Path环境变量中
编译jar包
编译core,方法如下:(编译过程要联网,需要下载一些东西)
命令行进入到zxing-zxing-3.2.1\core路径下,输入命令:
mvn-DskipTests -Dgpg.skip=true install
运行完之后core目录下会生成一个target目录。
里面就有编译好的各种东西,包括文档、需要的Jar包等(比如我的这个叫core-3.2.1.jar)。
编译好jar包后可以直接使用了,方法如前面所述。
注意:
在导入jar包项目还是会报错的:
1. 按照错误的信息将Java版本变为Java1.7
2 .将android-core中的文件加入到项目中
3. 引用的android包太低,将版本改为android19以上
将project.properties文件中的target改到比较高的版本
4. 项目不会报错,但是运行到手机会报错的,报错信息为:Caused by: java.lang.NoClassDefFoundError:com.google.zxing.ResultMetadataType,找不到类,在搜了下才知道包的引用的顺序的问题,原因是导入的包的类和先前引用的包邮同样的类就会报错。
改正办法:点击项目,右键build path->configure build path进入到下面的界面:
将core-3.2.1移动到第一的位置,就可以运行项目了。
下面之后就可以仔细阅读项目的代码了。项目涉及的比较多,项目中用到的可能很少,可以上网下载一些已经简化好的demo,链接:http://pan.baidu.com/s/1gdyKkvD。
感谢那些网上资料的贡献者,才可以弄好这个项目,希望自己也能帮到别人。