解决zxing “Could not find class 'com.goole.zxing.Result”和“Multiple dex files define”问题

    刚学android应用程序开发,就遇到扫描二维码功能,比较棘手。goole了下,有个不错的开源库zxing,包含了二维码扫描功能。具体怎么使用,csdn上的博客http://blog.csdn.net/xiaanming/article/details/10163203《Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果》讲的比较详细,就不赘述了。这里主要分享中间过程遇到的两个问题以及相应的解决方案。
    一是运行时遇到“Could not find class 'com.goole.zxing.Result'”错误。解决办法如下:
1、在工程根目录下新建libs文件夹,然后将core.jar粘贴到libs下(我想这一步大家都是做了的);
2、build path->Libraries->点击Add JARs...(注意不是点击Add External JARs...)->选择你所在的工程->选择第一步新建的libs文件夹->选中第一步我们粘贴的core.jar->点击Ok;
3、选中libs文件夹->右击,然后选择Build Path->use as source folder。

    紧接着第二个问题来了,错误信息是“Unable to execute dex: Multiple dex files define Lcom/google/zxing/BarcodeFormat;”。很多中文blog里都包含解决方法,长篇大论说了一大推,但都不起作用。后来在stackoverflow上找到了解决方法,链接地址为:http://stackoverflow.com/questions/7870265/unable-to-execute-dex-multiple-dex-files-define-lcom-myapp-rarray。答案目前已经有156个赞同了。

    我使用的是链接上的这种方法:In Order and Export tab I did not have any jar library there, so I have unchecked Android Private Libraries item. Now my project is running. 翻译成中文等同Build Path->Order and Export->然后将Android Private Libraries前面那个钩去掉->点击OK。

     重新运行,程序工作正常。不过还是遇到了网上同学的问题,扫描的时候要很远才能扫描到二维码,而且感觉扫描不敏感,扫描半天才成功一次。后续还得花时间把这些问题解决。

你可能感兴趣的:(android)