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 を初めて使用します。
編集:
2 番目の方法 (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
何か助けて?
- -答え - -
この問題を解決するには、Gradle でオフライン作業を無効にする必要がありました。
- Android Studioの設定>Gradle>「オフライン作業」のチェックを外す
ベストアンサー1
ファイルに次の内容を追加する必要があります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'
}
私の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'
}
コードはここ。
また、使い方については、Stackoverflowの私の回答を参照してください。ここ
メソッドと、私がテストした簡単なコードも含まれています。