图书馆与图书馆的区别图书馆项目&外部图书馆

时间:2015-11-04 17:20:48

标签: android android-studio gradle jar android-gradle

在Android Studio IDE中,您可以添加 .jar 文件。您还可以添加' 图书馆项目'的整个项目。此外,还有Android库(来自Gradle)作为外部库添加。

的.jar Jars

图书馆计划 Library Project

外部图书馆 External Libraries

我明白了.jars就是这样。但是,为什么需要添加其他库(库项目),这些库具有自己的整个构建文件(如gradle,res,src等)。更进一步使我的理解变得复杂,Gradle下载的内容被添加为'外部库'那些有.jar文件和res文件夹。

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

1 个答案:

答案 0 :(得分:4)

  

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

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

  • 您可以在本地拥有自己的库或分叉。在这种情况下您有代码,您可以将此库添加为模块

在这种情况下,只需添加module/build.gradle

即可
apply plugin: 'com.android.library'

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

dependencies{
  compile project(':module')
}
  • 您可以使用 maven依赖。在这种情况下,有人将库上传到maven存储库中 目前,我认为这是最好的解决方案。

在这种情况下,只需在项目中添加依赖项

dependencies{
  compile 'group:name:version'
}

此依赖关系可以是 aar 文件,也可以是 jar 文件。
您也可以在公共或私人专家中发布自己的图书馆。

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

在这种情况下,定义您的平面存储库:

repositories {
    flatDir {
        dirs 'libs'
    }
}

并添加依赖项:

dependencies {
   compile(name:'nameOfYourAARFileWithoutExtension', ext:'aar')
 }
  • 您可以在项目中添加 jar文件

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

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}