欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > 【Android】repositories和sourceSets指定了 `libs` 目录的区别

【Android】repositories和sourceSets指定了 `libs` 目录的区别

2024/10/25 2:22:46 来源:https://blog.csdn.net/qq_45687669/article/details/141720030  浏览:    关键词:【Android】repositories和sourceSets指定了 `libs` 目录的区别

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 文件)。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com