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

时间:2022-10-23 09:18:41

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

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

添加jar


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

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

2 添加到依赖库

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

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

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

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

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

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

添加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文件夹的新建一个,添加后的结果如下:

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

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

20150930补充:

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

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

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

enjoy!

悦分享,越快乐^_^

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