前言
在加载第三方库的时候,有时候有些东西特别喜欢搞混,又得上网搜好久,今天特意记录下来,等到需要的时候直接查看就行了。
问题
在一个项目中,经常能看到这两个文件夹,一个在app目录下,和src文件夹同级,一个在src->main目录下,但是这两个地方都能放第三方库,这就把人给整懵了,所以我们这个第三方库到底放在哪里????
区别
【libs】librarys
用来存放三方库的地方,比如 【.jar】 和 【.aar】文件。
【jniLibs】 java native interface librarys
Android Studio 新添加的,默认用来存放 .so 文件
当项目在AS中打开后,AS 会自动加载【jniLibs】目录中的 【.so】文件。
如果我们把这个【.so】动态库文件放在了其他的位置,必须要告诉AS将这些文件放在哪个地方(重定向),比如我们一般喜欢将这个动态库文件放在上面的【libs】文件夹下面,所以我们需要在【build.gradle】里面写明
android{
......
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
当我们要使用本地依赖来添加依赖库的时候,一般我们都是将【aar】或者【jar】文件放在【libs】文件夹下面的,然后在【build.gradle】里面添加
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
}
至于这段代码是否添加一般不会影响
repositories {
flatDir {
dirs 'libs'
}
}