android 技术知识

Android 中出现java.lang.VerifyError

2018-08-21  本文已影响14人  追梦小乐

1、出现的原因以及解决方法

今天在集成zxing,做代码合成二维码的时候抛出来java.lang.VerifyError这个错误,看到这个的时候我一脸懵逼,查找资料的时候,普遍都是说文件找不到或者类库重复或者混淆问题会造成这个问题

只能根据这些大方向去一步步审查自己的项目,最后我发现我的问题出现的原因是引用zxing类库的时候出现的:

引入zxing的时候,我是使用provided 的方式引入的

provided 'com.google.zxing:core:3.3.0'

修改为compile方式的时候,就可以正常使用了

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

2、compile 、provided、implementation 的区别

2.1 compile

其有如下的几种使用方式:

2.2 provided

基本都是说:在编译时使用,但最终不会被编译到apk或aar里

根据我的使用经验,如果是本地的类库比如jar、aar等,只使用了其中的java类的话,可以使用这种方式来减少apk的体积

provided files('libs/xxx.jar')
2.3 implementation

为了加快构建编译速度,Android Studio 3.0开始使用了新的指令


图片内容来源于简书博主BrightVan 的文章
上一篇下一篇

猜你喜欢

热点阅读