android studio preview java.lang.noclassdeffounderror
来源:互联网 发布:最有名的十大网络主播 编辑:程序博客网 时间:2024/05/22 12:26
闲话不多说,直接说bug。
我的bug是由于引用了百度地图api引起的。当我按照百度地图的官方文档将jar包和so文件正确添加到项目中之后,先后出现了以下两个bug:
1:java.lang.unsatisfiedlinkerror
2:java.lang.noclassdeffounderror
这两个bug一直交替出现在我的preview中,修复了一个另一个就出现了,修复了另一个原来那个bug又出现了,着实让人心累。。
在网上找了很长时间,经过筛选博主觉得有用的资料如下:
1:引入第三方库出现java.lang.noclassdeffounderror。
首先说一下android studio引入第三方库的方法。
1):将第三方库的jar文件拷贝到工程的app/libs文件夹下。
2):右击jar文件,选中add as library...
3):clean或是rebuild工程。
以上基本就是导入第三方库的方法,原理就是在app/build.gradle文件中的dependences中添加类似于
compile files('libs/baidumapapi_base_v4_0_0.jar')的东东。
其中baidumapapi_base_v4_0_0.jar就是我要引入的库。
其实android studio在工程创建的时候dependences中就有默认的如下的代码:
compile fileTree(include: ['*.jar'], dir: 'libs')
意为将libs下的所有jar包引入项目,所以理论上只要将jar包添加到libs文件夹下,然后clean,让gradle来帮我们完成第三方库的引入就可以了。
由于博主遇到了bug,所以就按照官方文档给出的做法,自己手动添加了jar包。
当然,添加第三方库也可以通过右击工程在可视的dependences中添加,这里就不多说了,相信各位都知道。
然后是将百度地图的so文件引入。
方法是在src/main/下建立jniLibs,将官方给出的so文件拷贝进去即可。但是我这样得到了java.lang.unsatisfiedlinkerror。
于是我查看了很多关于引入so文件的资料。有如下:
1:so文件要装在jniLibs/armeabi/文件夹下
2:可以将armeabi文件直接放入app/libs/文件夹下,然后在app/build.gradle中写
sourceSets { main { jniLibs.srcDir 'libs' }}这样就可以了。注意的是,如果在src/main/下建立了jniLibs,就不用添加sourceSet代码。
以上所述都是博主整理来的,应该是比较靠谱的,如果有错误,还请指正。下面我来说我bug的解决方法。
当觉得自己的操作没有问题的时候,我的preview中出现了java.lang.unsatisfiedlinderror。clean,rebuild,解决。
但是有出现了java.lang.noclassdeffounderror错误。
注意这个错误与java.lang.classnotfounderror错误区分,java.lang.noclassdeffounderror错误的原因不是因为jar包没有导入,而是
运行找不到类,类已经存在。java.lang.classnotfounderror原因是根本在工程中找不到类。至于错误的导致原因有很多,这里不再赘述。
大多数的java.lang.noclassdeffounderror的错误都是clean,rebuild解决的,没错,clean,rebuild,本文提了很多次。
但是我的错误没有被解决。
找了三天,终于找到。
因为是preview的bug,所以解决方法是将预览的sdk版本更换一下,看看有没有帮助。
我的错误就是这样解决的。我将sdk 23换成了21,错误消失。(不明白的小伙伴没关系,会上图。)
就在我写这篇博客的时候,中途又打开了android studio,又遇到了java.lang.noclassdeffounderror,依旧是更换sdk版本解决了错误。
没错,就是右上角那个小机器人旁边的数字,我将他改成了21,错误解决。在更换了几次sdk版本后,错误就不见了。
作为一个安卓小小白,刚刚开始开发还是有一些心累,这个错误找了好长时间,所幸终于找到了。博主也总结到了一个道理,
只要坚持不懈的不放弃,没哟与解决不了的bug。
虽然解决了这个问题,但是我引入百度地图gradle编译之后,还是出现了gradle finish with 672 errors。。。
代码可以畅通无阻地运行,可就是有这么几百个错误。672,672,672.....目前还不知道怎么解决,求知道的小伙伴指点。还有,虽然我
解决了bug,可还是不知道为什么改了preview的sdk版本就可以解决bug,还是求知道的小伙伴指点。
搞程序的一生bug,一生debug,希望我们能风雨同舟,互相帮助。。。。
0 0
- android studio preview java.lang.noclassdeffounderror
- [Android] java.lang.NoClassDefFoundError
- Android java.lang.NoClassDefFoundError
- Android java.lang.NoClassDefFoundError:
- android java.lang.noclassdeffounderror
- android studio fastJson解析数据提示java.lang.NoClassDefFoundError
- android Studio运行时,出现java.lang.NoClassDefFoundError
- 升级Android Studio到2.0 preview导致的 java.lang.VerifyError错误
- Android中java.lang.NoClassDefFoundError
- android java.lang.NoClassDefFoundError: xxxxx
- Android 偶遇java.lang.NoClassDefFoundError
- Android 有关java.lang.NoClassDefFoundError
- Android中java.lang.NoClassDefFoundError
- android studio 预览问题 :java.lang.NoClassDefFoundError: com/android/util/PropertiesMap
- android studio 预览问题 :java.lang.NoClassDefFoundError:com/android/util/PropertiesMap
- Android studio java.lang.NoClassDefFoundError: android.support.v4.app add multidex
- Android studio "java.lang.NoClassDefFoundError: com/android/util/PropertiesMap"layout错误
- 在Android studio中预览不成功显示java.lang.NoClassDefFoundError: com/android/util/PropertiesMap的问题
- think
- chrome浏览器怎么模拟手机访问网页
- Web学习笔记
- jsp实现emp表数据
- 平衡二叉树详解
- android studio preview java.lang.noclassdeffounderror
- 最长公共字符串
- [样例]欢迎使用CSDN-markdown编辑器
- 点击UIWebView上文字调用方法
- 占位
- 占位2
- 3.线性分类器(一)
- 占位3
- Public-protected-friendly-private关键字的区别