十二:Android Studio导入第三方类库、jar包和so库
最后更新于:2022-04-01 06:42:32
## 第三方类库源码
将一网友的XMPP代码从ADT转到AS时,发现其使用了第三方类库,源码放在了lib下,直接在AS中Import project,第三方类库并没有自动导入进来,看来需要自己动手了。
项目的目录结构如下:
~~~
XMPP$ ls
app build.gradle gradlew import-summary.txt XMPP.iml
build gradle gradlew.bat local.properties settings.gradle
~~~
将第三方源码qqEmoji-lib拷到此目录,修改settings.gradle增加此lib:
~~~
include ':app',':qqEmoji-lib'
~~~
修改app下的build.gradle,在dependencies内加入:
~~~
dependencies {
compile project(':qqEmoji-lib')
...
~~~
在qqEmoji-lib下新建build.gradle文件,内容参考如下:
~~~
apply plugin: 'android-library'
android {
compileSdkVersion 19
buildToolsVersion "21.1.2"
defaultConfig {
minSdkVersion 8
targetSdkVersion 18
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
}
}
}
dependencies {
compile 'com.android.support:appcompat-v7:19.1.0'
//compile 'com.android.support:support-v4:19.1.0'
}
~~~
gradle的配置内容情参考最后第二个链接。
此时项目的结构见下图:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-01_5685d1967d908.jpg)
此时编译,通过,导入成功!
## 第三方类库jar包
这就简单多了,直接将jar包拷贝到app/libs下,然后在app下的build.gradle中添加此jar的依赖。如下:
~~~
dependencies {
compile 'com.android.support:support-v4:19.1.0'
compile files('libs/libammsdk.jar')
compile files('libs/universal-image-loader-1.8.6-with-sources.jar')
compile files('libs/YoumiSdk_v5.00_2015-01-08.jar')
}
~~~
## 第三方so库
通常来说,我们调用第三方的so库是不需要额外工作的,只需将其放入指定目录,然后在java文件中load即可。
比如我引用之前[《第一个NDK程序》](http://blog.csdn.net/lincyang/article/details/6705143)中编译出的libFirstLib.so,将其放到app/src/main/jniLibs/armeabi/下,在源码中引用:
~~~
static {
System.loadLibrary("FirstLib");
}
~~~
即可。程序运行如下图:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-01_5685d1968fcb8.jpg)
参考:
[http://www.cnblogs.com/neozhu/p/3458759.html](http://www.cnblogs.com/neozhu/p/3458759.html)
[http://www.open-open.com/lib/view/open1415793464648.html](http://www.open-open.com/lib/view/open1415793464648.html)