编译google Zxing,实现安卓一、二维码的扫描与生成

google Zxing是谷歌的一个开源项目,可以用来解析、生成条形码(一维码)和二维码。这个项目可以从github下载。

项目地址:

https://github.com/zxing/zxing

然而,直接下载的是不带有jar包的,都是一堆堆源代码,以及测试所用的图片(占据了很大的空间,zip包大部分东西都被它吃了,有100M以上)。

谷歌提供了maven在线仓库,

http://repo1.maven.org/maven2/com/google/zxing/

在这里可以下载到已经编译好的各种jar以及相关jardoc等。

然而,并不是最新的,只更新到了3.2.1。于是,我们可以根据源码自己手动编译一个最新版本


我下载了master分支版本的项目源码,文件名形如:

zxing-master.zip

解压到F:/space

生成的文件路径:

F:/space/zxing-master


项目目录如下图:



core文件夹下是项目最主要的代码,android-core下是安卓的代码,只有单单的一个CameraConfigurationUtils.java文件,相机的工具类,都可以直接使用,不用编译成jar包了。

最主要的是编译好core文件夹下的东西。

需要的工具:Maven,一个管理项目的构建,报告和文档的软件项目管理工具。

依赖于java环境,所以,必须要正确安装了java环境。


Maven主页: http://maven.apache.org/


Maven下载地址: http://maven.apache.org/download.cgi

下载最新版:apache-maven-3.3.9-bin.zip

其中,apache-maven-3.3.9-src.zip是它的源码和资源文档等。

下载后解压到自己分类好的文件中。
配置说明:

Maven 3.2 要求 JDK 1.6 或以上版本, 而 Maven 3.0/3.1 需要 JDK 1.5 或以上。


新建系统变量   MAVEN_HOME  变量值:D:\Apache\apache-maven-3.1.1
编辑系统变量  Path         添加变量值: ;%MAVEN_HOME%\bin



验证配置
进入cmd命令窗口,执行 mvn –version命令,成功配置则显示MAVEN版本以及相关信息:



配置完成后就可以在cmd任意目录下使用mvn命令了,不配置也可以使用,但是每次都需要进入maven程序的目录下去执行。

maven首次编译某些项目,会去下载很多东西,其默认的目录在C:\Users\用户名\.m2\repository下,建议修改为自己常用的目录,方便管理,修改默认下载路径的方法:

百度经验:http://jingyan.baidu.com/article/3c343ff7e8b5850d3779632e.html


运行cmd进入dos界面,


使用汇编命名:

输入:F:直接进入F盘

cd path 进入下一个文件路径

cd..返回上层路径

进入F:\space\zxing-master\core>后输入

mvn -DskipTests -Dgpg.skip=true install 命令


maven将会自动编译。因为编译需要相关的程序支持(java平台的程序后缀名为.jar),所以,如果本地不存在这些程序,那么就会通过联网的方式去maven仓库下载。本次编译maven共下载了148M的repository内容。

耐心等待,下载完毕后将自动编译。编译成功则如下图所示:




提示:构建成功,并花费了30分钟。。。

如果,下载失败,那么就各显神通,翻墙,代理,vpn吧。或许可以向成功编译的童鞋找下载的repository内容。

并且在core目录下会生成target文件夹,里面就是生成的各种jar包和文档了。如图:




箭头所示就是测试文件相关(包括各种二维码图片),占领了125M内存空间。。。汗,没啥用,可以干掉。

core-3.2.2-SNAPSHOT.jar就是我们需要的jar包了,core-3.2.2-SNAPSHOT-javadoc.jar就是jar包的源码了。apidoc就是文档了。ok,编译完成。


虽然现在通过该jar包已经能够应用大部分情况,但是在实际使用过程中,我们可能会使用CameraConfigurationUtils.java文件,手动添加或许会比较麻烦,于是也可以再次使用cmd命令进入android-core文件目录下,执行mvn -DskipTests -Dgpg.skip=true install 命令,等待下载完毕并编译完成。如图:




当然,我觉得这个文件一点复杂度都没有的文件也可以通过ide,如eclipse来编译完成。


接着可以使用ant构建出安卓工程出来,将两个jar包导入安卓工程,就可以调试运行apk文件了。ant的构建过程可以参考该文:http://www.cnblogs.com/bxfx111/p/4158179.html

当然,才生成那么几个文档,我估计在ide中手动添加,甚至修改某些东西,合并为一个jar也是可以的。而且eclipse中已经集成了ant工具。


谷歌条形码官方例子运行图:



ok。全部完成。


资源下载





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值