zoukankan      html  css  js  c++  java
  • 安卓百度地图开发so文件引用失败问题研究

    博客: 安卓之家
    微博: 追风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!

    悦分享,越快乐_

    欢迎交流,转载请注明出处,谢谢!

  • 相关阅读:
    查询手机内联系人
    加载媒体库里的音频
    用ContentProvider获取通讯录联系人
    TensorFlow学习笔记:保存和读取模型
    如何「优雅」地标数据
    Bagging, Boosting, Bootstrap
    3D中的旋转变换
    PCA算法浅析
    SQL Server数据库邮件配置
    浅谈checkpoint与内存缓存
  • 原文地址:https://www.cnblogs.com/jp1017/p/4878310.html
Copyright © 2011-2022 走看看