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

Ack*_*man 8 android gradle android-studio

我在一家拥有由离岸团队开发的Android移动应用程序的公司工作.我可以访问GitHub存储库.

我正在逐块拼凑Android应用程序,它给了我地狱.

我如何区分模块,库,jar,库项目,gradle项目,aar和jar.有人可以给我一个实际的定义.不是出于一个疯狂的谷歌搜索.我也有谷歌.

PS是的我是一个菜鸟,并不以此为荣.

Arp*_*tan 6

我只是简要介绍一下这些内容。我希望我清楚。

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

库: AAR文件,JAR文件等。

JAR: Java库

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

Gradle项目: Gradle只是一个构建系统,Android Studio使用该构建系统来构建android项目。与早期Eclipse中使用的构建系统相比,它的功能非常强大。

库项目: Android库项目类似于Android应用程序项目,因为它在项目的根目录中还包含项目清单文件。另外,此目录包含src,res和在构建应用程序项目时也会找到的其他目录。但是,有很大的不同。您无法将库项目编译成APK文件,因为库项目未描述应用。相反,当应用程序的项目和源代码引用库项目时,它提供了对应用程序有用的可重用代码和资源。在构建时,此代码和这些资源将合并到应用的APK文件中。

为了进一步解释,让我举个例子: 假设您想使用网络库volley进行API调用,由于这是Google的开源库,您可以根据需要克隆它进行定制。

您可以将凌空图书馆作为自己的图书馆项目,独立构建,进行单元测试等。

现在说您开始构建一个需要进行HTTP调用的应用程序,因此需要在项目中添加volley库。您有两种选择:

  1. 编译您的图书馆项目截距,生成aar文件并将其添加到您的应用程序Project中。

  2. 将Volley添加为项目中的模块。(如果选择此选项,则可以在同一Studio项目中更改排球库,因为它会在您的项目中充当组件)

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


Har*_*iya 5

1.)模块

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

4类型模块Android Studio

  • 电话和餐桌模块
  • Android Wear模块
  • Android TV模块
  • 玻璃模组

2.)支持库

Android的支持库提供了大量的未建成的框架功能。这些库提供了新功能的向后兼容版本,提供了框架中未包含的有用的UI元素,并提供了可用于应用程序的一系列实用程序。

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

3.)jar文件

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

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

4.)Android库项目

Android团队引入了一个new binary distribution format称为Android ARchive(AAR)的应用程序。.aar捆绑包是Android库项目的二进制发行版。

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

5.)Gradle和Gradle项目

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

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