如何将ZXing Library集成到Android Studio进行条码扫描?

Mau*_*lva 27 ide dependencies android core zxing

我一直在寻找互联网如何将zxing库包含到我的项目中,我找到了这个教程:http://blog.dihaw.com/integrating-zxing-in-your-android-app-as-standalone-scanner /

但是当我到达你需要检查BeepManager以添加R导入的点时,我在项目中得到了各种错误(即使在MainActivity上)它也找不到R.

另外我发现这个https://github.com/journeyapps/zxing-android-embedded/blob/master/README.md看起来好多了,因为它是由gradle自动集成的,但是当我同步它会弹出一个错误,它无法找到文件.

任何帮助将不胜感激:)我是Android Studio的新手.

编辑:

我将第二种方法(带有gradle设置的方法)的设置添加到我的build.gradle中,弹出了4个错误:

Error:Failed to find: com.embarkmobile:zxing-android-legacy:2.0.0 
Error:Failed to find: com.google.zxing:core:3.0.1 
Error:Failed to find: com.embarkmobile:zxing-android-integration:2.0.0 
Error:Failed to find: com.embarkmobile:zxing-android-minimal:2.0.0
Run Code Online (Sandbox Code Playgroud)

有帮助吗?

- -回答 - -

要解决此问题,我需要在Gradle上禁用Offline Work.进入Android Studio的设置> Gradle>取消选中'离线工作'之后,您就可以开始了!

bji*_*ang 39

您需要将以下内容添加到您的build.gradle文件中:

repositories {
    mavenCentral()

    maven {
        url "http://dl.bintray.com/journeyapps/maven"
    }
}

dependencies {
    // Supports Android 4.0.3 and later (API level 15)
    compile 'com.journeyapps:zxing-android-embedded:2.0.1@aar'

    // Supports Android 2.1 and later (API level 7), but not optimal for later Android versions.
    // If you only plan on supporting Android 4.0.3 and up, you don't need to include this.
    compile 'com.journeyapps:zxing-android-legacy:2.0.1@aar'

    // Convenience library to launch the scanning and encoding Activities.
    // It automatically picks the best scanning library from the above two, depending on the
    // Android version and what is available.
    compile 'com.journeyapps:zxing-android-integration:2.0.1@aar'

    // Version 3.0.x of zxing core contains some code that is not compatible on Android 2.2 and earlier.
    // This mostly affects encoding, but you should test if you plan to support these versions.
    // Older versions e.g. 2.2 may also work if you need support for older Android versions.
    compile 'com.google.zxing:core:3.0.1'
}
Run Code Online (Sandbox Code Playgroud)

我的build.gradle文件是这样的:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.myapplication2"
        minSdkVersion 16
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

repositories {
    mavenCentral()

    maven {
        url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/"
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
    // Supports Android 4.0.3 and later (API level 15)
    compile 'com.embarkmobile:zxing-android-minimal:2.0.0@aar'

    // Supports Android 2.1 and later (API level 7), but not optimal for later Android versions.
    // If you only plan on supporting Android 4.0.3 and up, you don't need to include this.
    compile 'com.embarkmobile:zxing-android-legacy:2.0.0@aar'

    // Convenience library to launch the scanning and encoding Activities.
    // It automatically picks the best scanning library from the above two, depending on the
    // Android version and what is available.
    compile 'com.embarkmobile:zxing-android-integration:2.0.0@aar'

    // Version 3.0.x of zxing core contains some code that is not compatible on Android 2.2 and earlier.
    // This mostly affects encoding, but you should test if you plan to support these versions.
    // Older versions e.g. 2.2 may also work if you need support for older Android versions.
    compile 'com.google.zxing:core:3.0.1'
}
Run Code Online (Sandbox Code Playgroud)

代码在这里.

另外,关于如何使用它,请在此处参考Stackoverflow上的答案

它包含我测试过的方法和简单的代码.


Ita*_*nco 16

从zxing-android-embedded版本3开始,您只需要将这些添加到您的build.gradle文件中:

repositories {
    jcenter()
}

dependencies {
    compile 'com.journeyapps:zxing-android-embedded:3.0.2@aar'
    compile 'com.google.zxing:core:3.2.0'
}
Run Code Online (Sandbox Code Playgroud)

请按照以下步骤操作:https://github.com/journeyapps/zxing-android-embedded/

它现在还允许纵向模式,只需更改IntentIntegrator自定义视图的简单方法.