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即可。

  如果想自己编译,也算是很方便。下面讲讲。

编译工具准备

  首先得准备两个工具:

  Ant: http://ant.apache.org/

  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的编译的更多相关文章

  1. 二维码扫描开源库ZXing定制化【转】

    转自:http://www.cnblogs.com/sickworm/p/4562081.html 最近在用ZXing这个开源库做二维码的扫描模块,开发过程的一些代码修改和裁剪的经验和大家分享一下. ...

  2. 二维码扫描开源库ZXing定制化

    最近在用ZXing这个开源库做二维码的扫描模块,开发过程的一些代码修改和裁剪的经验和大家分享一下. 建议: 如果需要集成到自己的app上,而不是做一个demo,不推荐用ZXing的Android外围开 ...

  3. 条形码/二维码之开源利器ZXing图文介绍

    全文目录: 基本介绍 二维码(比如:QRCode)的编码和解码演示 条形码(比如:EAN-13)的编码和解码演示 [一]. 基本介绍 : 1-1. ZXing是一个开源Java类库用于解析多种格式的条 ...

  4. 条形码/二维码之开源利器ZXing图文介绍(转)

    继前面介绍的一个日本开源软件(该软件只能实现QRCode)原文: Java实现二维码QRCode的编码和解码(http://sjsky.iteye.com/blog/1136934 ),今发现又一优秀 ...

  5. Python zxing 库解析(条形码二维码识别)

    各种扫码软件 最近要做个二维码识别的项目,查到二维码识别有好多开源的不开源的软件 http://www.oschina.net/project/tag/238/ Zbar 首先试了一下Zbar,pyt ...

  6. Android二维码开源项目zxing用例简化和生成二维码、条形码

    上一篇讲到:Android二维码开源项目zxing编译,编译出来后有一个自带的測试程序:CaptureActivity比較复杂,我仅仅要是把一些不用的东西去掉,用看起来更方便,二维码和条形码的流行性自 ...

  7. Android 二维码 生成和识别(附Demo源码)

    今天讲一下目前移动领域很常用的技术——二维码.现在大街小巷.各大网站都有二维码的踪迹,不管是IOS. Android.WP都有相关支持的软件.之前我就想了解二维码是如何工作,最近因为工作需要使用相关技 ...

  8. Android 二维码 生成和识别(转)

    原博客地址 :http://www.cnblogs.com/weixing/archive/2013/08/28/3287120.html 还有几个写的也可以参考一下:http://www.itnos ...

  9. 实例源码--ZXing识别条形码和二维码识别源码

      下载源码 技术要点: 1.ZXing库的 使用 2.识别条形码和二 维码 3.自定义视图 4.源码带有非常详 细的中文注释 ...... 详细介绍: 1.ZXing库 ZXing是个很经典的条码/ ...

随机推荐

  1. 自制Https证书并在Spring Boot和Nginx中使用

    白话Https一文中, 介绍了Https存在的目的和工作原理,但多是偏向于原理性的介绍,本文介绍如何一步一步自制一个能够通过浏览器认证的Https证书,并讲解在Spring Boot环境和Nginx环 ...

  2. .net后台模拟浏览器get/post请求

    #region 后台模拟浏览器get/post请求 /// <summary> /// 发送请求方式 /// </summary> /// <param name=&qu ...

  3. Elasticsearch 文件目录解释

    下载后解压的Elasticsearch中,有以下几个基本的目录: home---这是Elasticsearch解压的目录 bin---这里面是ES启动的脚本 conf---elasticsearch. ...

  4. 地图定位IOS8之后的定位

    从ios8开始,苹果进一步加强了对用户隐私的保护. 当app想要访问用户的隐私信息时  系统不再自动弹出一个对话框让用户授权 解决方法: (1)调用ios8.0的API 主动请求用户授权 - (voi ...

  5. 【Swift学习】Swift编程之旅(一)

    学习一门新语言最经典的例子就是输出“Hello World!” print("Hello World!") swift就是这样来输出的. 如果你使用过其他语言,那么看上去是非常的熟 ...

  6. C语言学习016:单链表

    #include <stdio.h> //定义一个链表,链表是一种递归结构,在定义的时候必须要给结构起一个名字 typedef struct folder{ int level; char ...

  7. C#:基于WMI查询USB设备信息 及 Android设备厂商VID列表

    /* ---------------------------------------------------------- 文件名称:WMIUsbQuery.cs 作者:秦建辉 MSN:splashc ...

  8. JS虚拟键盘

    由于是触摸屏,所以需要一款JS虚拟键盘.上网找了一个好用的VirtualKeyboard,作了修改. 修改该插件参考的博客文章:http://www.cnblogs.com/xinggong/arch ...

  9. Visual Studio 2015正式企业(Enterprise)版

    “7月20日 23:30 Visual Studio 2015正式版正式发布,作为微软新一代开发利器,在全地球乃至全宇宙乃至全太阳系中最强大 且没有之一的IDE(上述描述来自微博用户评论)跨平台支持成 ...

  10. Entity Framework 实体框架的形成之旅--数据传输模型DTO和实体模型Entity的分离与联合

    在使用Entity Framework 实体框架的时候,我们大多数时候操作的都是实体模型Entity,这个和数据库操作上下文结合,可以利用LINQ等各种方便手段,实现起来非常方便,一切看起来很美好.但 ...