我在一家公司工作,该公司有一个由离岸团队开发的android移动应用程序。我可以访问GitHub存储库。
我正在一块一块地拼凑安卓应用程序,这让我很痛苦。
如何区分模块、库、jar、库项目、gradle项目、aar和jar。有人能给我一个实用的定义吗。不是从一个怪异的谷歌搜索。我也有谷歌。
PS是的,我是一个傻瓜,并不为此感到骄傲。
我只是简单介绍一下其中的每一个。我希望我是清白的。
模块:模块是应用程序的一个组件,它可以独立构建/测试,并在需要时在另一个应用程序中重新使用。
库:AAR文件、JAR文件等
JAR:Java库
AAR:就像JAR一样,唯一的区别是它还包含特定于android的文件,如资源等。
Gradle项目:Gradle只是安卓工作室用来构建安卓项目的一个构建系统。与Eclipse早期使用的构建系统相比,它非常强大。
库项目:安卓库项目类似于安卓应用程序项目,因为它还在项目的根目录中包括一个项目清单文件。此外,该目录包含src、res和其他目录,您在构建应用程序项目时也可以找到这些目录。然而,存在着显著的差异。您无法将库项目编译为APK文件,因为库项目没有描述应用程序。相反,当应用程序的项目和源代码引用库项目时,它提供了可重用的代码和资源,这些代码和资源有助于应用程序。在构建时,此代码和这些资源将合并到应用程序的APK文件中。
为了进一步解释这一点,让我给你举一个例子:假设你想使用网络库截击来进行API调用,现在由于这是谷歌的开源库,你可以克隆它,根据你的需求进行定制。
您可以将截击库作为库项目,独立构建,单元测试等。
现在假设您已经开始构建一个需要进行HTTP调用的应用程序,因此需要将截击库添加到您的项目中。你有两个选择:
-
编译你的库项目截击,生成aar文件,并将其添加到你的应用程序项目中。
-
将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