• Android Studio下添加引用jar文件和so文件


    博客: 安卓之家
    微博: 追风917
    CSDN: 蒋朋的家
    简书: 追风917
    博客园: 追风917

    安卓开发中我们常会遇到jar文件和so文件的引用,下面介绍下在as下如何添加使用,这里以百度地图sdk所需的文件为例。

    添加jar


    1 在本地复制jar文件,然后到as界面,project标签下,找到app/libs,ctrl+v粘贴到libs文件夹下,结果如下:

    libs

    2 添加到依赖库

    之前可以右键jar包,“Add As Library”的,这个1.3.2版本给删除了吗?我们可以这样:ctrl+shift+alt+s进入project structure设置界面,然后添加包,操作如下:

    add

    在弹出的对话框中,找到libs下的三个jar包,依次添加即可,只能一次添加一个,不知google怎么想的:

    libs

    添加完成后,项目会自动同步,完成后,会在gradle.build脚本里看到添加了依赖。

    dep

    添加so


    没有so文件或添加路径不对,会出现下面类似错误:

    java.lang.UnsatisfiedLinkError: Native method not found: 
        com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create:()
    

    添加时有个注意点就是添加的路径要设置正确,Android Studio 默认的so文件路径是app/src/main/jniLibs/armeabi,和eclipse是不一样的,要注意哦。

    按照添加jar文件的方法,复制粘贴就可以,没有jniLibs文件夹的新建一个,添加后的结果如下:

    so

    好了,这样就ok的,有时还需要添加armeabi-v7a,x86文件夹,视平台酌情增删。

    20150930补充:

    当然这个so文件的目录是可以指定的,比如在gradle脚本里这样配置:

    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }
    

    这样配置的话,so文件位置就和jar文件目录一致,也就是和eclipse一样,但是我还是推荐使用as默认的文件目录结构,而我在这里也犯了一个错误,请看我的另一篇文章:安卓百度地图开发so文件引用失败问题研究

    enjoy!

    悦分享,越快乐_

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

  • 相关阅读:
    js把秒数转换为HH:MM:SS及时分秒格式
    java将流量KB转换为GB、MB、KB格式
    java将秒数转换为时分秒格式
    springboot前端向后端请求返回html语句
    java判断手机号三大运营商归属的工具类
    Java读取txt文件、excel文件的方法
    Linux安装JDK、Mysql和Tomcat
    原理篇—文件包含漏洞
    原理篇—上传漏洞
    原理篇—CSRF 跨站脚本请求伪造
  • 原文地址:https://www.cnblogs.com/jp1017/p/4878319.html
Copyright © 2020-2023  润新知