首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图书馆与图书馆工程与外部图书馆的区别

图书馆与图书馆工程与外部图书馆的区别
EN

Stack Overflow用户
提问于 2015-11-04 17:20:48
回答 1查看 2.3K关注 0票数 7

在Android中,可以添加一个.jar文件。还可以添加“库项目”的整个项目。此外,还有一些安卓库(来自Gradle)被添加为外部库

.jar

图书馆项目

外部图书馆

我明白.jars就是这样。但是为什么其他库(库项目)需要添加具有自己的完整构建文件(如gradle、res、src等)的库。而且使我的理解更加复杂的是,Gradle下载的库被添加为“外部库”,并且这些库具有.jar文件和res文件夹。

您能解释为什么库可以添加为.jar、整个项目或外部库吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-04 21:09:15

您能解释为什么库可以添加为.jar、整个项目或外部库吗?

你有不同的可能性,因为你可以有不同的情况。通常,库是由其他团队构建的,您无法决定它是如何分发的。

  • 您可以在本地拥有自己的库或叉子。在本例中,有代码,可以将该库添加为模块

在本例中,只需添加module/build.gradle

代码语言:javascript
复制
apply plugin: 'com.android.library'

并在主项目中添加依赖项,如:

代码语言:javascript
复制
dependencies{
  compile project(':module')
}
  • 您可以使用maven依赖项。在本例中,有人将库上传到maven存储库中。 目前,我认为这是最好的解决办法。

在本例中,只需在项目中添加依赖项即可。

代码语言:javascript
复制
dependencies{
  compile 'group:name:version'
}

这个依赖项可以是aar文件,也可以是jar文件。

此外,您还可以在公共或私有maven中发布您自己的库。

  • 可以在项目中添加aar文件

在本例中,定义您的平面存储库:

代码语言:javascript
复制
repositories {
    flatDir {
        dirs 'libs'
    }
}

并添加依赖项:

代码语言:javascript
复制
dependencies {
   compile(name:'nameOfYourAARFileWithoutExtension', ext:'aar')
 }
  • 可以在项目中添加jar文件

在这种情况下,通常可以将所有jars放在libs文件夹中,并添加依赖项:

代码语言:javascript
复制
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33528104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档