repositories { flatDir { dirs 'libs' } }
这段代码的作用是告诉 Gradle 在指定的目录(这里是 libs
目录)中查找 JAR 文件或 AAR 文件。flatDir
是一种简单的文件目录结构,它不会解析子目录,只会查找指定目录中的文件。
repositories {
flatDir {
dirs 'libs'
}
}
-
用途:用于添加本地的 JAR 或 AAR 文件作为依赖项。
-
作用:使 Gradle 能够在
libs
目录中找到并包含这些 JAR 或 AAR 文件。 -
示例:假设你有一个
my-library.aar
文件放在libs
目录下,你可以在dependencies
部分这样引用它:dependencies { implementation name: 'my-library' }
sourceSets { main { jniLibs.srcDirs = ['libs'] } }
这段代码的作用是告诉 Gradle 在指定的目录(这里是 libs
目录)中查找 JNI(Java Native Interface)库文件(即 .so
文件)。jniLibs.srcDirs
是用来指定包含本地库的目录。
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
- 用途:用于指定包含本地库(如
.so
文件)的目录。 - 作用:使 Gradle 能够在
libs
目录中找到并包含这些 JNI 库文件。 - 示例:假设你有一些本地库文件(如
libexample.so
)放在libs
目录下,Gradle 会在编译时将这些.so
文件包含到 APK 中。
总结
repositories { flatDir { dirs 'libs' } }
:用于指定本地目录中的 JAR 或 AAR 文件,使其可以作为项目的依赖项。sourceSets { main { jniLibs.srcDirs = ['libs'] } }
:用于指定本地目录中的 JNI 库文件(.so
文件),使其可以包含到最终的 APK 中。
这两者虽然都指定了 libs
目录,但它们处理的资源类型不同,一个是库文件(JAR/AAR),另一个是本地库(.so
文件)。