在 Android 开发中经常和这两个文件夹打交道,以前一直迷迷糊糊的使用,没去想过。最近遇到了一些问题,仔细研究了一下,特此记录分享。
libs: librarys
用来存放三方库的地方,比如 *.jar
和 *.aar
。
在 Project
视图下能看到, Android
视图下看不到。
jniLibs: java native interface librarys
Android Studio
新添加的,默认用来存放 .so
文件。
Q: 然而我们经常能看见将 *.so
文件放在 libs
中。那有何必多一个这个 jniLibs
目录呢。
A: 在 AS
中它会自动去加载 jniLibs
目录中的 *.so
文件。如果你放在了其它任何目录,你必须要告诉它你将这些文件放在那里了(重定向)。
在 module#build.gradle
中添加:
sourceSet {
main {
// 这里我写 `libs`,它就会去 `libs` 目录中找,你也可以放在其它任何目录中。
jniLibs.srcDirs = ['libs']
}
}
最好还是让其各司其职,各尽其责。这样你的项目看起来也比较整洁。