Android libs,jniLibs库基本使用
libs,jniLibs用来存放各种.so库文件。在Android Studio中,默认匹配main下的jniLibs目录。
如果没有jniLibs目录需要自己手动创建,并且库的名称也不能随便更改。
使用libs下so库文件
在AndroidStudio中,想用libs下的so库,必须手动去指定库的位置。
在Module:app下的build.gradle中android{}节点加入以下配置。
sourceSets {
main{
jniLibs.srcDirs = ['libs'];
}
}
使用jniLibs下so库文件
这种方式最简单,不需要额外的任何配置,把所有的.so库放在jniLibs目录即可使用
特别注意
要么把所有的.so库全部放在libs目录下,要么全部放在jniLibs目录下。
在第三方提供的so库中,大多都是成套的为了适配不同的cpu厂商。
在拷贝库的时候也会成套的拷贝进项目,如果要通过so库来减少安装包的大小,可以通过
动态选择需要添加的.so库
在Module:app下的build.gradle中defaultConfig里面加上配置
ndk {
//选择要添加的对应cpu类型的.so库。
abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a'
// 还可以添加 'x86', 'x86_64', 'mips', 'mips64'
}
这样就可以指定加载库。