Android实战技巧之二十七:Maven编译开源二维码扫描项目zxing
2015-04-26 16:55
393 查看
拥有自己的手机软件工具箱是件非常有意义的事情。就目前国内Android的生态环境来说,混乱的不能再乱了。由于我们登录不了官网App商店,下软件就只好在国内五花八门的软件市场下载。由于这些市场的监管不力,什么样的软件都有,就拿二维码扫描软件来说,好多都带那种狗皮膏药一样的广告插件,真是特别讨厌。
在开源世界中有很多优秀的软件,其中zxing就是非常好的Android扫碼工具软件。我们可以拿来即用还可以学习内部机制,然后做些定制化个性化。既可以自己享用,又可以跟大家分享。真是不错。
zxing在github:https://github.com/zxing/zxing
源码很多,里面的pom.xml告诉我们需要用maven编译。可惜这个构建工具我用的并熟练,一切都要摸索着来。
Maven官网:https://maven.apache.org
在ubuntu下的安装是很简单的,下载apache-maven-3.3.1-bin.zip解压(unzip)到你喜欢的目录下如/opt/apache-maven-3.3.1/ 。并将环境变量设置好,~/.bashrc下填入下面内容:
前提是你的java7环境已经配好。请参考Android实战技巧之八:Ubuntu下切换JDK版本
下面是我的mvn环境:
对于zxing的编译,我没有找到相关的文档,所以都是我这个maven新人不断的摸索,虽然不是特别正规,但是达到我的目的是真的。
先在zxing根目录下执行mvn compile,好家伙,一个劲的下载依赖包,都说这第一次编译需要下载大量的包,如果我没有做代理或库的更改,那么需要漫长的等待。
我晚上跑步将近一个小时,以为回来就编译好了。可是令我大失所望,虽然包下完了,但是编译有问题。再次执行,这次编译没有报错,但是我搜遍目录没有找到jar包。这是有问题的,我还是按照自己的节奏来工作吧。
android目录是一个eclipse项目,我直接转换为AS工程然后编译发现少了好多zxing的类。
android-core下的pom是这样的:
没有其他依赖,直接编译成jar。我执行mvn package,漫长的等待后jar包编译出来了。
我引入这个jar,发现里面只有一个类com.google.zxing.client.android.camera.CameraConfigurationUtils
这显然还不够。
core目录才是重点,同样mvn package再等待,如果中途遇到依赖其他目录的jar就去编译之。
再将其引入android工程,编译成功!
在开源世界中有很多优秀的软件,其中zxing就是非常好的Android扫碼工具软件。我们可以拿来即用还可以学习内部机制,然后做些定制化个性化。既可以自己享用,又可以跟大家分享。真是不错。
zxing在github:https://github.com/zxing/zxing
zxing-master$ ls android android-integration AUTHORS CONTRIBUTING.md core javase pom.xml src zxingorg android-core androidtest CHANGES COPYING glass NOTICE README.md zxing.appspot.com
源码很多,里面的pom.xml告诉我们需要用maven编译。可惜这个构建工具我用的并熟练,一切都要摸索着来。
Maven官网:https://maven.apache.org
在ubuntu下的安装是很简单的,下载apache-maven-3.3.1-bin.zip解压(unzip)到你喜欢的目录下如/opt/apache-maven-3.3.1/ 。并将环境变量设置好,~/.bashrc下填入下面内容:
#Maven export PATH="$PATH:/opt/apache-maven-3.3.1/bin" export M***EN_OPTS="-Xms256m -Xmx512m"
前提是你的java7环境已经配好。请参考Android实战技巧之八:Ubuntu下切换JDK版本
下面是我的mvn环境:
$ mvn -v Apache Maven 3.3.1 (cab6659f9874fa96462afef40fcf6bc033d58c1c; 2015-03-14T04:10:27+08:00) Maven home: /opt/apache-maven-3.3.1 Java version: 1.7.0_71, vendor: Oracle Corporation Java home: /opt/jdk/jdk1.7.0_71/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.13.0-49-generic", arch: "amd64", family: "unix"
对于zxing的编译,我没有找到相关的文档,所以都是我这个maven新人不断的摸索,虽然不是特别正规,但是达到我的目的是真的。
先在zxing根目录下执行mvn compile,好家伙,一个劲的下载依赖包,都说这第一次编译需要下载大量的包,如果我没有做代理或库的更改,那么需要漫长的等待。
我晚上跑步将近一个小时,以为回来就编译好了。可是令我大失所望,虽然包下完了,但是编译有问题。再次执行,这次编译没有报错,但是我搜遍目录没有找到jar包。这是有问题的,我还是按照自己的节奏来工作吧。
android目录是一个eclipse项目,我直接转换为AS工程然后编译发现少了好多zxing的类。
android-core下的pom是这样的:
<artifactId>android-core</artifactId> <version>3.2.1-SNAPSHOT</version> <packaging>jar</packaging>
没有其他依赖,直接编译成jar。我执行mvn package,漫长的等待后jar包编译出来了。
$ ls android-core/target/ android-core-3.2.1-SNAPSHOT.jar
我引入这个jar,发现里面只有一个类com.google.zxing.client.android.camera.CameraConfigurationUtils
这显然还不够。
core目录才是重点,同样mvn package再等待,如果中途遇到依赖其他目录的jar就去编译之。
$ ls core/target/ core-3.2.1-SNAPSHOT.jar
再将其引入android工程,编译成功!
相关文章推荐
- android开发(17) 扫描二维码 - 调用第三方APK来实现二维码扫描,参考自 开源项目zxing
- Android二维码识别 开源项目ZXing的编译
- [Android]利用ZXing开源项目,实现条形码和二维码扫描
- android开发(17) 扫描二维码 - 调用第三方APK来实现二维码扫描,参考自 开源项目zxing
- 利用开源ZXing项目实现条形码和二维码扫描识别 —— Android端
- 利用开源ZXing项目实现条形码和二维码扫描识别 —— Android端
- Android二维码识别 开源项目ZXing的编译
- Android二维码开源项目zxing编译
- Android二维码识别 开源项目ZXing的编译
- Android二维码开源项目zxing用例简化和生成二维码、条形码
- Android开源项目编译运行
- Android开源二维码识别项目zxing横屏改为竖屏识别解决方案
- VLC for Android源码下载和编译 (包含其他开源项目,很全面!!!!)
- Android开源二维码识别项目zxing横屏改为竖屏识别解决方案
- Android开源二维码识别项目zxing横屏改为竖屏识别解决方案
- Android Studio编译开源项目