博客: 安卓之家
微博: 追风917
CSDN: 蒋朋的家
简书: 追风917
博客园: 追风917
问题
首先,下面的问题基本都是在Android Studio下使用不当导致,eclipse是百度官方指定的工具,所以问题少。
我们来看,基本有三种类似错误提示:
Binary XML file line #13: Error inflating class com.baidu.mapapi.map.MapView
No implementation found for native Lcom/baidu/platform/comjni/map/basemap/JNIBaseMap;.Create()
Native method not found: com.baidu.platform.comjni.map.basemap.JNIBaseMap.Create:()
分析
产生问题的原因基本有三种:
1 SDKInitializer 方法执行的位置不对
2 so文件找不到,大多都是这个问题
3 不同sdk版本混用
解决
三个原因,一一对照下,基本都可以解决。
对于第一种和第三种,请参阅官方开发指南:百度地图安卓开发指南
对于第二个原因,开发指南里也有说明,就是把so文件放到/src/main/jniLibs/armeabi目录下,如何添加请看我的另一篇文章:
Android Studio下添加引用jar文件和so文件
昨天在demo里正常,今天添加到项目里,出错了,最后原因还是so文件找不到,我已经把so文件放到/src/main/jniLibs/armeabi目录下了,但是还是不对,看了下我的gradle脚本里有这个东西:
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
嗯,没错,我指定so文件在libs目录下,而那里是没有的,因此出错,我从该脚本里删除后,搞定,还是按照as默认的目录来,google毕竟有其考量,具体是什么,暂时还不知道,你知道吗,麻烦告诉我下,谢谢!
enjoy!
悦分享,越快乐_
欢迎交流,转载请注明出处,谢谢!