2016-03-16 16 views
0

我正在创建一个应用程序,其中一个模块允许扫描Qrcode,另一个生成QR码。多个dex文件定义Lcom/google/zxing/BarcodeFormat

要生成QR码我使用这个库:

compile 'com.github.kenglxn.QRGen:android:2.1.0' 

要扫描我使用这个库中的QR代码:

compile 'com.dlazaro66.qrcodereaderview:qrcodereaderview:1.0.0' 

两个库使用斑马线,这就是为什么我使用这是Android Studio中的多个dex错误。

请帮忙,以便我可以将这两个库包含在我的gradle中。我知道可以使用“排除”来解决这个问题,但我不知道两个库中的哪一个类会发生冲突。

+0

** public class MyApplication extends Application **这种类的类在您的项目中 –

+0

@nandkishormewara我的项目中没有那种类。 – geekydhaval

回答

2

您需要启用Multidex请检查图像

enter image description here

+3

我没有得到multidex的这种错误 错误:执行任务':app:packageAllDebugClassesForMultiDex'失败。 > java.util.zip.ZipException:重复条目:com/google/zxing/BarcodeFormat.class – geekydhaval

1

找到了解决的突出部分。

我正在使用其他库,它使用相同的核心ZXing库生成QRcode的位图。

我做了什么,而不是:

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生成位图,将其设置为我的ImageView。

感谢@pranavjoshi

0

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

原来我在项目中通过不同方式和不同版本包含了zxing依赖项。

其中一个来自Facebook SDK,其中使用了最新版本,另一个已经通过/libs目录中的.jar文件包含,并且是一个古老版本。

要解决我删除了Facebook SDK中的问题,发现旧版本,而不是包括罐子直接与我取而代之的是:在我的应用程序的build.gradle

compile 'com.google.zxing:core:3.3.1' 

之后,包括Facebook SDK,干净/重建没有问题。

相关问题