集成ZXing二维码第三方库的使用和常见错误问题解析和步骤

原创 2016年08月30日 17:50:23

    由于原生的比较大所以就参考精简的ZXing,基本能满足开发中使用:

生成与解析主要引用参考一片枫叶这:

https://github.com/yipianfengye/android-zxingLibrary

集成到项目中后一般会出现以下的问题:

Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute application@name value=(com.example.zsh.zxingtestscan.global.MyApplication) from AndroidManifest.xml:7:9-45
is also present at [cn.yipianfengye.android:zxing-library:1.8] AndroidManifest.xml:23:9-58 value=(com.uuzuche.lib_zxing.ZApplication).
Suggestion: add 'tools:replace="android:name"' to <application> element at AndroidManifest.xml:6:5-20:19 to override.

详细步骤和集成问题解决有一下两种方案。

第一种gradle集成:

As的集成地址compile 'cn.yipianfengye.android:zxing-library:1.8',但是会出现一些问题。

1.application公用字段问题。一般项目都会定义一个application类来初始化信息。需要在application中添加一下语句

tools:replace="android:name"

log或者tools:replace="android:name,android:icon"log提示什么加什么还有可能出现sdk版本不一致兼容问题,但网上说的好像自己没碰见过这问题。


2.第一个问题解决完但是在扫描二维码还是会出现应用退出问题:

所以要在自己的application类里面

重写下面的方法主要是初始化屏幕资源像素等转化问题:

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        initDisplayOpinion();
    }

    /**
     * 这是初始化二维码扫描的信息
     */
    private void initDisplayOpinion() {
        DisplayMetrics dm = getResources().getDisplayMetrics();
        DisplayUtil.density = dm.density;
        DisplayUtil.densityDPI = dm.densityDpi;
        DisplayUtil.screenWidthPx = dm.widthPixels;
        DisplayUtil.screenhightPx = dm.heightPixels;
        DisplayUtil.screenWidthDip = DisplayUtil.px2dip(getApplicationContext(), dm.widthPixels);
        DisplayUtil.screenHightDip = DisplayUtil.px2dip(getApplicationContext(), dm.heightPixels);
    }
}
 

第二种(下载库手动来集成,推荐,es&as集成,能最大程度上解决个版本的兼容信息问题)

详细步骤:

1.将项目中的lib-zxing中的src/main/java/com/uuzuche/下的lib_zxing拷贝到自己项目中对应的包内,然后按提示错误点击相关的类并删除导入信息并自动生成。

2.libs文件下的zxing.jar添加到项目中。

3.AndroidManifest.xml中的权限。

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.FLASHLIGHT" />
 
    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
 
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />

  <activity
            android:configChanges="orientation|keyboardHidden"
            android:name="com.uuzuche.lib_zxing.activity.CaptureActivity"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="stateAlwaysHidden"
            android:theme="@style/Theme.AppCompat.NoActionBar"
            ></activity>

添加自己项目中的AndroidManifest.xml文件中,并修改activity中对应的位置。或者改变theme版本的兼容问题。

4. lib-zxing资源res文件夹下对应的文件或文件夹拷贝对项目中对应的位置。

5. 打开开源库中ZApplication.java下的初始化屏幕资源像素方法初始化到自己项目中的application类中(就是文章前面的那些初始化代码)

6. 删除ZApplication.java文件。手动集成的方法不用去application符里面添加什么,这样就哦了大笑

   

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

使用ZXing实现二维码扫描

二维码现在越来越火爆,使用的越发广泛,对于二维码二维码的生成与解析,有多种途径,这里我选择用google老大的ZXing。    其中刘超大神使用ZXing写了一个快速集成二维码扫描的工具类,实现其核...

Github项目解析(十)-->几行代码快速集成二维码扫描库

本文将讲解一下我最近写的一个快速集成二维码扫描库,这里需要说明的是其核心的实现扫描的功能,是通过调用ZXing库实现的。内部App中使用到了二维码扫描功能,但是网上找了一些关于二维码扫描的例子,只是我...

Android Studio 扫描二维码并解析跳转

很久没有做小项目了,今天有空就顺便做了个简单的扫描二维码并解析跳转。          1.在app里面的libs文件中集成lib-zxing包    2.在app文件中的build添加红色框...

最简单的二维码扫描Android Application Demo

最简单的二维码扫描Android Application Demo

Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml

F:\WORKSPACE\STUDIO_20150715\MmAlbum2\app\src\main\AndroidManifest.xml:19:9-43 Error: Attribute ...

Android开发错误——Android Studio中遇到过的错误问题与解决方案汇总

AndroidStudio中我遇到过的错误问题(遇到错误更新中) 错误一: Error:(25, 0) Gradle DSL method not found: 'compile()' Possi...

Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml

error太长了 只贴比较关键的这一句吧。今天在AndroidStudio中遇到的问题,记录一下 以后踩坑的小伙伴可以借鉴。AndroidStudio的Gradle插件默认会启用Manifest Me...

ZXing范例导入项目eclipse编译出现的版本错误问题

最近在学习二维码的使用,看到很多关于ZXing应用的文章,看得较多的是基于2.3版本的应用,包括简化和修改的文章,很有收获,在此谢谢各位大侠! 今天在官网上下了ANDROID系统的最新ZXing-ma...
  • yiicwxd
  • yiicwxd
  • 2015年09月14日 11:33
  • 677

使用zxing扫描二维码出现黑屏

最近在项目中遇到一个问题,使用zxing扫描二维码发现在一个设备上出现黑屏,然后通过调试定位问题给出的日志是04-22 14:51:42.492: D/(4999): Surface destroy:...
  • cuiran
  • cuiran
  • 2015年04月22日 16:53
  • 7537

二维码开源包zxing的jar包的引入

1、解压BarCodeTest,将该BarCodeTest工程打开之后,将libs下的jar包全部复制在新的工程libs下,然后同步     2、资...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:集成ZXing二维码第三方库的使用和常见错误问题解析和步骤
举报原因:
原因补充:

(最多只允许输入30个字)