Android二维码识别 开源项目ZXing的编译
Android二维码识别 开源项目ZXing的编译
Android端的条形码/二维码识别功能
因为手机端的输入不是很方便,所以条形码/二维码的扫描是一种很有效的解决手段。
比较流行的手机应用中,常用的二维码扫描实现,是使用了开源库——ZXing:http://code.google.com/p/zxing/
据项目主页的介绍,这个开源项目是用Java实现的,用手机自带的摄像头,扫描条形码/二维码,不需要和服务器通信(当然这个项目也可以用于PC和服务器),就可以做一维或二维码的识别。
支持的各种码格式很多:
下面就介绍一下如何编译运行这个项目。
下载项目
去http://code.google.com/p/zxing/downloads/list下载最新的项目:命名是ZXing-x.y.zip
目前(2013.08.29)最新的版本号是2.2:
即 ZXing-2.2.zip:http://code.google.com/p/zxing/downloads/detail?name=ZXing-2.2.zip&can=2&q=
下载后,解压得到的目录如下:
我们其实只用到了android和core两个目录。
直接使用编译好的Jar包
根据http://code.google.com/p/zxing/wiki/GettingStarted
上说的,如果你想直接使用编译好的jar包,那么直接去:http://repo1.maven.org/maven2/com/google/zxing/ 下载jar包即可。
我们这里需要的是core下的jar包。下载core-2.2.jar即可。
然后,在Eclipse中,导入zxing-2.2\android下的项目,导入后会有一些错误。
新建libs目录,将刚才下载的core-2.2.jar拷贝进去,错误就都消失了。
然后就直接右键项目Run即可。
如果想自己编译,也算是很方便。下面讲讲。
编译工具准备
首先得准备两个工具:
Maven: http://maven.apache.org/
下载链接:
Ant: http://ant.apache.org/bindownload.cgi
Maven: http://maven.apache.org/download.cgi
下载后放在合适的路径下解压缩,然后将bin目录添加到环境变量Path中即可。两个都是。
可以在cmd中查看版本号来验证配置是否成功:
手动编译的配置
首先,从命令行进入到zxing-2.2目录下:
输入如下命令:
android update project --path android
成功后就可以看到zxing-2.2\android目录下新增了一个名为local.properties的文件,里面内容是:sdk.dir=你的Android SDK目录。
编译Jar包
首先编译core,方法如下:
命令行进入到zxing-2.2\core路径下,输入命令:
mvn -DskipTests -Dgpg.skip=true install
运行完之后core目录下会生成一个target目录。
里面就有编译好的各种东西,包括文档、需要的Jar包等(比如我的这个叫core-2.3-SNAPSHOT.jar)。
编译Android项目
首先,把刚才生成的jar包(core-2.3-SNAPSHOT.jar)拷贝进zxing-2.2\android目录下的libs目录。
然后,命令行进入到zxing-2.2\android路径下,输入命令:
ant debug
生成的bin目录下就包含了.apk。
(如果关联了360手机助手或者豌豆荚,USB连接手机后,双击这个.apk即可安装应用,因为是debug版的,所以会提示是山寨应用。)
当然,也可以将Android程序导入Eclipse,libs中添加Jar包之后右键项目来编译和运行,如前所述。
参考资料
ZXing项目地址:
http://code.google.com/p/zxing/
GettingStarted:
http://code.google.com/p/zxing/wiki/GettingStarted
博客:
http://www.cnblogs.com/keyindex/archive/2011/06/08/2074900.html
http://my.eoe.cn/isnull/archive/5879.html
http://blog.csdn.net/xiaanming/article/details/10163203
Android二维码识别 开源项目ZXing的编译的更多相关文章
- 二维码扫描开源库ZXing定制化【转】
转自:http://www.cnblogs.com/sickworm/p/4562081.html 最近在用ZXing这个开源库做二维码的扫描模块,开发过程的一些代码修改和裁剪的经验和大家分享一下. ...
- 二维码扫描开源库ZXing定制化
最近在用ZXing这个开源库做二维码的扫描模块,开发过程的一些代码修改和裁剪的经验和大家分享一下. 建议: 如果需要集成到自己的app上,而不是做一个demo,不推荐用ZXing的Android外围开 ...
- 条形码/二维码之开源利器ZXing图文介绍
全文目录: 基本介绍 二维码(比如:QRCode)的编码和解码演示 条形码(比如:EAN-13)的编码和解码演示 [一]. 基本介绍 : 1-1. ZXing是一个开源Java类库用于解析多种格式的条 ...
- 条形码/二维码之开源利器ZXing图文介绍(转)
继前面介绍的一个日本开源软件(该软件只能实现QRCode)原文: Java实现二维码QRCode的编码和解码(http://sjsky.iteye.com/blog/1136934 ),今发现又一优秀 ...
- Python zxing 库解析(条形码二维码识别)
各种扫码软件 最近要做个二维码识别的项目,查到二维码识别有好多开源的不开源的软件 http://www.oschina.net/project/tag/238/ Zbar 首先试了一下Zbar,pyt ...
- Android二维码开源项目zxing用例简化和生成二维码、条形码
上一篇讲到:Android二维码开源项目zxing编译,编译出来后有一个自带的測试程序:CaptureActivity比較复杂,我仅仅要是把一些不用的东西去掉,用看起来更方便,二维码和条形码的流行性自 ...
- Android 二维码 生成和识别(附Demo源码)
今天讲一下目前移动领域很常用的技术——二维码.现在大街小巷.各大网站都有二维码的踪迹,不管是IOS. Android.WP都有相关支持的软件.之前我就想了解二维码是如何工作,最近因为工作需要使用相关技 ...
- Android 二维码 生成和识别(转)
原博客地址 :http://www.cnblogs.com/weixing/archive/2013/08/28/3287120.html 还有几个写的也可以参考一下:http://www.itnos ...
- 实例源码--ZXing识别条形码和二维码识别源码
下载源码 技术要点: 1.ZXing库的 使用 2.识别条形码和二 维码 3.自定义视图 4.源码带有非常详 细的中文注释 ...... 详细介绍: 1.ZXing库 ZXing是个很经典的条码/ ...
随机推荐
- JS兼容所有浏览器的一段加入收藏代码,设置为首页
<script language="javascript" type="text/javascript"> function addfavorite ...
- ATL是如何实现线程安全的引用计数和多线程控制的
ATL是如何实现线程安全的引用计数和多线程控制的 正如标题所示,这是我经常被问到的一个问题,而每次我都从头开始给人说一次,其实说来过程理解起来的确有点复杂. 我们的每一个ATL Server Obje ...
- [转]virtualenv建立多个Python独立开发环境
不同的人喜欢用不同的方式建立各自的开发环境,但在几乎所有的编程社区,总有一个(或一个以上)开发环境让人更容易接受. 使用不同的开发环境虽然没有什么错误,但有些环境设置更容易进行便利的测试,并做一些重复 ...
- SQL---一次插入多条数据【使用Union】
--做测试的时候使用.--缺点:结果集的数量,类型都要一样.INSERT INTO Student ( StudentID, StudentName, StduentAge, StudentBirth ...
- 【原创】Kakfa api包源代码分析
既然包名是api,说明里面肯定都是一些常用的Kafka API了. 一.ApiUtils.scala 顾名思义,就是一些常见的api辅助类,定义的方法包括: 1. readShortString: 从 ...
- SQL Server 统计信息
SELECT * FROM SYS.stats _WA_Sys_00000009_00000062:统计对象的名称.不同的机器名称不同,自动创建的统计信息都以_WA_Sys开头,00000009表示的 ...
- 【SQL】分享表值函数FMakeRows,用于生成行
------------更新:201501071730------------ 评论中又有一位[笑东风]兄给出改善建议,在此先感谢他.原理是借助行数较多的一个系统视图sys.all_columns与自 ...
- ASP.NET 缓存
(一)什么是缓存 缓存是指临时数据或者文件交换区.比方说CPU上的L1或是L2缓存,内存上被划分出来的缓冲区.我们知道CPU的速度是最快的,其次是内存,最后是硬盘,各个部件之间运算速度有很大的差距,但 ...
- c#使用WebClient登录网站抓取登录后的网页
C#登录网站实际上就是模拟浏览器提交表单,然后记录浏览器响应返回的会话Cookie值,再次发送请求时带着这个会话cookie值去请求就可以实现模拟登录的效果了. 如下类CookieAwareWebCl ...
- 【Java每日一题】20161110
package Nov2016; import java.util.HashSet; public class Ques1110 { public static void main(String[] ...