Java 如何将ZXING导入android studio?
我使用安卓工作室 我想在我的应用程序中导入'ZXING',我发现了许多文章,并发现了以下网站 我下载了ZIP和解压,并找到了一些教程 但它似乎没有太详细的细节,我需要进口什么?实现QR码扫描 我还是不知道怎么做Java 如何将ZXING导入android studio?,java,android,import,android-studio,zxing,Java,Android,Import,Android Studio,Zxing,我使用安卓工作室 我想在我的应用程序中导入'ZXING',我发现了许多文章,并发现了以下网站 我下载了ZIP和解压,并找到了一些教程 但它似乎没有太详细的细节,我需要进口什么?实现QR码扫描 我还是不知道怎么做 4/14 我尝试了列侬提供的URL “中兴安卓极小” 并导入'gradle wrapper.jar' 但是当我写的时候 新的监管者(this.initiateScan(); 仍会出现“无法解析符号“监管者”消息 我确实有权选择添加为库 但当一个错误发生时,他似乎没有被添加 4/1
4/14 我尝试了列侬提供的URL “中兴安卓极小” 并导入'gradle wrapper.jar' 但是当我写的时候 新的监管者(this.initiateScan(); 仍会出现“无法解析符号“监管者”消息 我确实有权选择添加为库 但当一个错误发生时,他似乎没有被添加
4/10 最后不再出现“无法解析符号‘监管者’” 这是密码,我错了什么 我删除了新的管理器(this).initiateScan();'应用程序正常运行
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new IntentIntegrator(this).initiateScan();
}
我的“身材,格雷德尔”
repositories {
jcenter()
maven {
url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/"
}
}
您应该在build.gradle文件中定义zxing依赖项:
repositories {
mavenCentral()
}
dependencies {
implementation 'com.google.zxing:core:3.2.0'
}
repositories {
mavenCentral()
maven {
url "http://dl.bintray.com/journeyapps/maven"
}
}
dependencies {
implementation 'com.journeyapps:zxing-android-embedded:2.3.0@aar'
implementation 'com.journeyapps:zxing-android-legacy:2.3.0@aar'
implementation 'com.journeyapps:zxing-android-integration:2.3.0@aar'
implementation 'com.google.zxing:core:3.2.0'
}
这是核心条形码编码/解码库,可用于构建自定义条形码扫描仪/生成器应用程序
如果您只需要支持扫描条形码的简单案例,您可以使用project嵌入ZXing Android条形码扫描仪应用程序
这是作为Android库项目的应用程序端口,用于嵌入其他Android应用程序
如果您决定使用ZXing Android嵌入式项目,只需在build.gradle文件中定义依赖项即可:
repositories {
mavenCentral()
}
dependencies {
implementation 'com.google.zxing:core:3.2.0'
}
repositories {
mavenCentral()
maven {
url "http://dl.bintray.com/journeyapps/maven"
}
}
dependencies {
implementation 'com.journeyapps:zxing-android-embedded:2.3.0@aar'
implementation 'com.journeyapps:zxing-android-legacy:2.3.0@aar'
implementation 'com.journeyapps:zxing-android-integration:2.3.0@aar'
implementation 'com.google.zxing:core:3.2.0'
}
使用默认选项启动intent:
new IntentIntegrator(this).initiateScan(); // `this` is the current Activity
并得到您的结果:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
switch (requestCode) {
case IntentIntegrator.REQUEST_CODE:
if (resultCode == Activity.RESULT_OK) {
// Parsing bar code reader result
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
}
break;
}
}
在root-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.3.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.journeyapps:zxing-android-legacy:2.3.0@aar'
// Convenience library to launch the scanning 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.3.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.2.0'
}
在你的app-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.3.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.journeyapps:zxing-android-legacy:2.3.0@aar'
// Convenience library to launch the scanning 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.3.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.2.0'
}
更多信息可以在这里找到:当我使用zxing库开发我的应用程序时,遇到了很多麻烦。那么看看这张照片: 它对我来说非常有效,而且更容易实现 编辑: 在项目中打开此文件: /gradle/wrapper/gradle-wrapper.properties 编辑distributionUrl行并将其设置为: 分配=http://services.gradle.org/distributions/gradle-1.8-all.zip 重建您的项目 更新:您现在可能需要使用gradle-2.1-all.zip 新编辑: 首先,必须删除
libs
文件。然后你必须移除
mavenCentral()
maven {
url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/"
}
从MyApplication
的build.gradle
,因为该gradle用于整个项目,最好在每个模块中使用它
之后,打开模块app
的build.gradle
,添加以下代码:
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'
// Zxing libraries
compile 'com.embarkmobile:zxing-android-minimal:2.0.0@aar'
compile 'com.embarkmobile:zxing-android-integration:2.0.0@aar'
compile 'com.google.zxing:core:3.0.1'
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
String _code = data.getStringExtra("SCAN_RESULT");
// do whatever you want
}
}
最后,您需要从项目中删除google.zxing.integration.android
,否则编译时会出现错误
更新:
要解决“后退”按钮问题,可以执行以下代码:
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'
// Zxing libraries
compile 'com.embarkmobile:zxing-android-minimal:2.0.0@aar'
compile 'com.embarkmobile:zxing-android-integration:2.0.0@aar'
compile 'com.google.zxing:core:3.0.1'
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
String _code = data.getStringExtra("SCAN_RESULT");
// do whatever you want
}
}
在列侬解释了所有步骤之后,我通过在Android Studio上的终端键入gradlew Assembly解决了“无法解析符号‘IntentIntegrator’”的问题。花了一段时间,但现在我可以使用aar上声明的所有类
希望有帮助。我也遇到了同样的问题,我通过以下简单步骤解决了问题,如下所示: 使用选项
导入项目(Eclipse ADT、Gradle等)
从下载的zxing master
zip文件导入项目android
,并在应用程序级别build.Gradle
文件中添加两行代码,即可运行
这么简单,耶
dependencies {
// https://mvnrepository.com/artifact/com.google.zxing/core
compile group: 'com.google.zxing', name: 'core', version: '3.2.1'
// https://mvnrepository.com/artifact/com.google.zxing/android-core
compile group: 'com.google.zxing', name: 'android-core', version: '3.2.0'
}
您始终可以从以下链接找到最新版本的core
和android core
:
谢谢你,我仍在尝试我根据说明导入了gradle-wrapper.jar I,但仍然无法解析符号“IntentIntegrator”(已添加到build.gradle中)您是否添加了
maven
repositorie?例如:repositories{mavenCentral()maven{url”https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/“}}
是的,我必须添加短语,并且在添加内容依赖项{}时出现了其他错误,我将在文章中拍摄更新的照片,您正在使用的gradle-wrapper.jar版本不包含命令compile()
。因此,您必须使用新版本。顺便说一句,你不需要把编译'com.mobile:zxing android legacy:2.0。0@aar“
我还认为您不需要使用gradle-wrapper.jar,因为您已经安装了gradle.jar。gradle-wrapper.jar所在的wrapper文件夹是旧的吗?我在哪里可以找到新版本?您不需要将任何内容“导入”到您的项目中。通过Maven使用核心库。不要将android
复制到您的项目中。您遇到了问题,因为这不是您打算使用它的方式。您的意思是,我实际上不需要将任何文件导入到我的项目中?对于2017年7月的当前版本,这似乎是更相关的答案。