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文件夹下的东西。
需要的工具:M
aven,一个管理项目的构建,报告和文档的软件项目管理工具。
依赖于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。全部完成。