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

时间:2016-06-12 07:47:36

标签: android android-studio gradle

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

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

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

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

2 个答案:

答案 0 :(得分:4)

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

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

库: AAR文件,JAR文件等。

JAR: Java库

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

Gradle项目: Gradle只是一个构建系统,Android Studio用它来构建android项目。与之前在Eclipse中使用的构建系统相比,它非常强大。

图书馆计划:Android图书馆项目类似于Android应用项目,因为它还包含项目根目录中的项目清单文件。此外,此目录包含src,res和您在构建应用程序项目时也找到的其他目录。 但是,存在显着差异。您无法将库项目编译为APK文件,因为库项目不描述应用程序。相反,它提供了可重用的代码和资源,当应用程序的项目和源代码引用库项目时,这些代码和资源可以为应用程序做出贡献。在构建时,此代码和这些资源将合并到应用程序的APK文件中。

为了解释这个问题,请举个例子:  假设您想使用网络库凌空进行API调用,现在因为这是来自Google的开源库,您可以根据您的要求克隆它进行自定义。

您可以将排球库作为图书馆计划,独立构建,单元测试等。

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

  1. 编译您的图书馆项目齐射,生成aar文件并将其添加到您的应用项目中。

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

  3. 如果不清楚,请告诉我。

答案 1 :(得分:3)

1。)模块

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

Android Studio中有 4类型模块

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

2。)支持库

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

支持库提供范围的不同功能

3。) Jar文件

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

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

4.。 Android图书馆计划

Android小组推出了名为 Android ARchive(AAR)new binary distribution format。 .aar包是Android库项目的二进制分发。

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

的Android应用程序的JAR file

5.。 Gradle and Gradle Project

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

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