模块、库、jar、库项目、gradle项目、aar和jar之间的区别



我在一家公司工作,该公司有一个由离岸团队开发的android移动应用程序。我可以访问GitHub存储库。

我正在一块一块地拼凑安卓应用程序,这让我很痛苦。

如何区分模块、库、jar、库项目、gradle项目、aar和jar。有人能给我一个实用的定义吗。不是从一个怪异的谷歌搜索。我也有谷歌。

PS是的,我是一个傻瓜,并不为此感到骄傲。

我只是简单介绍一下其中的每一个。我希望我是清白的。

模块:模块是应用程序的一个组件,它可以独立构建/测试,并在需要时在另一个应用程序中重新使用。

库:AAR文件、JAR文件等

JAR:Java库

AAR:就像JAR一样,唯一的区别是它还包含特定于android的文件,如资源等。

Gradle项目:Gradle只是安卓工作室用来构建安卓项目的一个构建系统。与Eclipse早期使用的构建系统相比,它非常强大。

库项目:安卓库项目类似于安卓应用程序项目,因为它还在项目的根目录中包括一个项目清单文件。此外,该目录包含src、res和其他目录,您在构建应用程序项目时也可以找到这些目录。然而,存在着显著的差异。您无法将库项目编译为APK文件,因为库项目没有描述应用程序。相反,当应用程序的项目和源代码引用库项目时,它提供了可重用的代码和资源,这些代码和资源有助于应用程序。在构建时,此代码和这些资源将合并到应用程序的APK文件中。

为了进一步解释这一点,让我给你举一个例子:假设你想使用网络库截击来进行API调用,现在由于这是谷歌的开源库,你可以克隆它,根据你的需求进行定制。

您可以将截击库作为库项目,独立构建,单元测试等。

现在假设您已经开始构建一个需要进行HTTP调用的应用程序,因此需要将截击库添加到您的项目中。你有两个选择:

  1. 编译你的库项目截击,生成aar文件,并将其添加到你的应用程序项目中。

  2. 将Volley作为模块添加到您的项目中。(若你们选择这个选项,你们可以在同一个工作室项目中对截击库进行更改,因为它将作为你们项目中的一个组件)

如果有什么不清楚的地方,请告诉我。

1.)模块

module是源文件和构建设置的集合,允许您将项目划分为离散的功能单元。您的项目可以有一个或多个模块,一个模块可以使用另一个模块作为依赖项。每个模块都可以独立构建、测试和调试。

Android Studio中有模块4种类型

  • 电话&表格模块
  • Android Wear模块
  • 安卓电视模块
  • 玻璃模块

2.)支持库

Android支持库 提供了许多未内置在框架中的功能。这些库提供了新功能的向后兼容版本,提供了框架中未包含的有用UI元素,并提供了应用程序可以借鉴的一系列实用程序

支持库提供一系列不同的功能:

  • 框架组件的向后兼容版本
  • UI元素来实现推荐的Android布局模式
  • 支持不同的形状因素
  • 其他实用程序功能

3.)Jar文件

JarFile用于从jar文件中读取jar条目及其相关数据。

有关更多详细信息,请访问:https://developer.android.com/reference/java/util/jar/JarFile.html

4.)Android库项目

安卓团队推出了一款名为安卓ARchive(AAR)new binary distribution format。.aar捆绑包是Android库项目的二进制发行版。

AAR类似于JAR文件,但它可以包含资源和编译的字节码。这允许AAR文件是类似于JAR file的Android应用程序的included in the build process

5.)Gradle和Gradle项目

Gradle是一个自动化构建工具包,它允许通过一组构建配置文件来配置和管理构建项目的方式。这包括定义如何构建项目,项目成功构建需要满足哪些依赖关系,以及构建过程的最终结果(或多个结果)。Gradle的优势在于它为开发人员提供的灵活性。Gradle系统是一个独立的、基于命令行的环境,可以通过使用插件集成到其他环境中。在Android Studio的情况下,Gradle集成是通过适当命名的Android Studio插件提供的。

有关更多详细信息,请访问:http://www.techotopia.com/index.php/An_Overview_of_Gradle_in_Android_Studio

最新更新