首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个dex文件定义Lcom/google/zxing/BarcodeFormat

多个dex文件定义Lcom/google/zxing/BarcodeFormat
EN

Stack Overflow用户
提问于 2016-03-17 07:17:15
回答 4查看 7.5K关注 0票数 2

我正在创建一个应用程序,其中一个模块允许扫描QRcode,另一个生成Qrcode。

为了生成QRcode,我使用了这个库:

代码语言:javascript
复制
    compile 'com.github.kenglxn.QRGen:android:2.1.0'

要扫描我使用的二维码,请执行以下操作:

代码语言:javascript
复制
    compile 'com.dlazaro66.qrcodereaderview:qrcodereaderview:1.0.0'

这两个库都使用ZXING,这就是为什么我在Android Studio中使用这个multiple dex错误。

请帮助我,以便我可以在我的gradle中包含这两个库。我知道使用"exclude“可以解决这个问题,但我不知道两个库中的哪个类冲突。

EN

回答 4

Stack Overflow用户

发布于 2018-01-23 15:22:01

对我来说,这是由于我的项目中有重复的依赖项造成的。

事实证明,我在项目中以不同的方式和不同的版本包含了zxing依赖。

其中一个来自Facebook SDK,它使用的是最新版本,另一个已经通过/libs目录中的.jar文件包含在内,是一个旧版本。

为了解决这个问题,我删除了Facebook SDK,找到了旧版本,而不是直接包含jar,我将其替换为:

代码语言:javascript
复制
compile 'com.google.zxing:core:3.3.1'

在我应用程序的build.gradle中。

之后包括Facebook SDK,清理/重建没有问题。

票数 4
EN

Stack Overflow用户

发布于 2016-03-17 18:18:32

您需要启用Multidex,请选中图像的突出显示部分

票数 3
EN

Stack Overflow用户

发布于 2016-03-17 19:41:02

找到了解决方案。

我使用的是其他库,这些库使用相同的核心ZXing库来生成位图中的QRcode。

我所做的是:

代码语言:javascript
复制
    com.google.zxing.Writer writer = new QRCodeWriter();
// String finaldata = Uri.encode(data, "utf-8");
int width = 250;
int height = 250;
BitMatrix bm = writer
        .encode(data, BarcodeFormat.QR_CODE, width, height);
Bitmap ImageBitmap = Bitmap.createBitmap(width, height,
        Config.ARGB_8888);

for (int i = 0; i < width; i++) {// width
    for (int j = 0; j < height; j++) {// height
        ImageBitmap.setPixel(i, j, bm.get(i, j) ? Color.BLACK
                : Color.WHITE);
    }
}

使用com.google.zxing.writer生成位图并将其设置为我的图像视图。

谢谢@pranavjoshi

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36048803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档