二、【二维码扫描ZXing】

473 阅读1分钟

让官方demo可以运行:

一.首先去GitHub上下载zxing andriod 目录:为demo工程 core: andriod-core:

二.遇到问题解决方法 1.app build.gradle 导入依赖

dependencies {
    compile 'com.google.zxing:core:3.3.0'
    compile 'com.google.zxing:android-core:3.3.0'
}

2.andriod-core中的CameraConfigurationUtils.java文件拷贝到demo camera目录下

3.方法找不到的问题

calResult.getStart().getTime() // 意思是将Date转成long(时间戳)

三、将样例工程打包成library 1.首先将app 下的AndroidManifest.xml 配置好,并配置成library,删除applicationId

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          tools:overrideLibrary="com.google.zxing.client.android"
          package="com.google.zxing.client.android"
          android:versionName="4.7.7"
          android:versionCode="107"
          android:launchMode="standard"
          android:configChanges="orientation|keyboardHidden|screenSize">

  <uses-permission android:name="android.permission.CAMERA"/>
  <uses-permission android:name="android.permission.INTERNET"/>
  <uses-permission android:name="android.permission.VIBRATE"/>
  <uses-permission android:name="android.permission.FLASHLIGHT"/>
  <uses-permission android:name="android.permission.READ_CONTACTS"/>
  <!--<!– unavailable in API 23 –>-->
  <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

  <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="22"/>

  <application android:allowBackup="true">
    <activity android:name=".CaptureActivity"
              android:screenOrientation="portrait" />
  </application>

</manifest>

2.导入zxing的核心库 app build.gradle

apply plugin: 'com.android.library'

android {
    compileSdkVersion 26
    buildToolsVersion "25.0.2"

    defaultConfig {
//        applicationId "com.google.zxing.client.android"
        minSdkVersion 15
        targetSdkVersion 22
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.google.zxing:core:3.3.0'
    compile 'com.google.zxing:android-core:3.3.0'
}

2.将运行的的switch 分支 替换成 if else的形式