zbar android sdk源码编译

zbar,解析条码和二维码的又一利器,zbar代码是用c语言编写的,如果想在Android下使用zbar类库,就需要使用NDK将zbar编译成.so加载使用,zbar编译好的Android SDK可以在官方网站上下载,地址:http://zbar.sourceforge.net/

下面就讲解一下我们自己如何编译zbar的Android SDK,本人的开发环境为Win7 64+ant 1.9.5+Cygwin64+android-ndk-r9d-windows-x86_64

1.准备工作

  1.1 下载ant,配置环境变量,并在Path路径里添加%ANT_HOME%\bin

   

    在命令行里输入ant -v命令,出现以下提示信息,则表示ant安装配置成功

   

 1.2 下载安装cygwin 64位版本

 1.3 下载安装NDK 64位版本,解压到指定目录,如D:\Software\android-ndk-r9d

 1.4 从https://github.com/zbar/zbar下载zbar代码,解压后目录如下:

    

 

 2.编译sdk

 2.1 编译libiconv

        从http://www.gnu.org/software/libiconv 网站上下载libiconv源码libiconv-1.14.tar.gz,解压到指定目录,如C:\libiconv-1.14

        打开cygwin,切换到C:\libiconv-1.14目录,输入以下命令:./configure --build=x86_64-pc-linux-gnu --host=arm-linux-eabi

       

  修改libcharset/config.h文件,将#define HAVE_LANGINFO_CODESET 1 改为#define HAVE_LANGINFO_CODESET 0

  

修改文件libcharset/lib/localcharset.c文件中函数get_charset_aliases (void),搜索:int c;把该变量定义放到该函数的开始处。

   2.2 编译sdk包

         打开命令行,切换到zbar的 android目录下,输入命令android update project --path .

      

      如出现错误,先输入命令android list target列出当前的target,然后在命令android update project --path .后添加对应的target,如下:

    

      打开build-ndk.xml文件,修改ndk-build为ndk-build.cmd,同时在javac节点里添加source="1.6" target="1.6"

     

        然后在命令行里执行以下命令ant -Dndk.dir=D:\Software\android-ndk-r9d -Diconv.src=C:\libiconv-1.14 zbar-all,其中D:\Software\android-ndk-r9d

        为NDK路径,C:\libiconv-1.14为libiconv的源文件路径,如出现以下信息,则表示编译成功

       

       此时我们可以在android\libs目录下看到刚刚编译好的文件

      

 

posted @ 2015-07-24 19:47  南极冰川雪  阅读(1381)  评论(2编辑  收藏  举报