我在一家公司工作,该公司有一个由离岸团队开发的安卓移动应用程序。我可以访问GitHub代码库。
我正在逐步拼凑安卓应用程序,但这让我很头疼。
如何区分模块,库,jar,库项目,gradle项目,aar和jar。有人能否给我一个实际的定义。请不要从谷歌搜索结果中直接复制过来,我也会使用谷歌。
附注:是的,我是新手,但并不为此感到骄傲。
我在一家公司工作,该公司有一个由离岸团队开发的安卓移动应用程序。我可以访问GitHub代码库。
我正在逐步拼凑安卓应用程序,但这让我很头疼。
如何区分模块,库,jar,库项目,gradle项目,aar和jar。有人能否给我一个实际的定义。请不要从谷歌搜索结果中直接复制过来,我也会使用谷歌。
附注:是的,我是新手,但并不为此感到骄傲。
这里我简要介绍一下它们的含义,希望能够清楚明白。
模块(Module):是您应用程序的组件,可以独立构建/测试,并在需要时在另一个应用程序中重复使用。
库(Libraries):AAR文件、JAR文件等。
JAR:Java库。
AAR:类似于JAR文件,唯一的区别是它还包含安卓特定的文件,如资源等。
Gradle项目(Gradle Project):Gradle只是一个构建系统,Android Studio用它来构建Android项目。与早期Eclipse使用的构建系统相比,它非常强大。
库项目(Library Project):Android库项目与Android应用程序项目相似,因为它也包括在项目根目录中的项目清单文件。此外,该目录包含src、res和其他目录,这些目录在构建应用程序项目时也会出现。 然而,有一个重要的区别。您不能将库项目编译成APK文件,因为库项目不描述应用程序。相反,它提供可重用的代码和资源,当应用程序的项目和源代码引用库项目时,这些资源和代码将合并到应用程序的APK文件中。
为了进一步解释这个问题,让我给你举一个例子: 假设您想使用网络库volley来进行API调用,既然这是谷歌的开源库,您可以克隆它并根据自己的需要进行自定义设置。
您可以将volley库作为您的库项目(Library Project),独立构建、单元测试等。
现在假设您开始构建一个应用程序,在其中需要进行HTTP调用,因此您需要将volley库添加到您的项目中。您有两个选择:
编译您的库项目volley,生成aar文件,并将其添加到您的应用程序项目中。
将Volley作为模块添加到您的项目中。(如果您选择此选项,则可以在同一工作室项目中更改volley库,因为它将作为您项目中的一个组件)
模块
是一组源文件和构建设置,允许您将项目划分为离散的功能单元。您的项目可以有一个或多个模块,并且一个模块可以使用另一个模块作为依赖项。每个模块可以独立构建、测试和调试。
Android Studio
中有4种类型的模块。
Android支持库提供了一些未内置到框架中的功能。这些库提供新功能的向后兼容版本,提供有用的UI元素,这些元素未包含在框架中,并提供应用程序可以利用的各种实用程序。
支持库提供不同的功能:
JarFile
用于从jar文件中读取条目及其关联数据。
更多细节请访问:https://developer.android.com/reference/java/util/jar/JarFile.html
Android团队引入了一种名为Android ARchive(AAR)的新的二进制分发格式
。 .aar包是Android库项目的二进制分发。
AAR类似于JAR文件,但它可以包含资源以及已编译的字节码。这允许将AAR文件包含在Android应用程序的构建过程中
,类似于JAR文件
Gradle
是一种自动化构建工具包,允许通过一组构建配置文件来配置和管理项目的构建方式。这包括定义项目的构建方式、需要满足哪些依赖项才能成功构建项目以及构建过程的最终结果(或结果)。Gradle 的优势在于它为开发人员提供了灵活性。Gradle 系统是一个自包含的基于命令行的环境,可以通过插件集成到其他环境中。在 Android Studio 的情况下,Gradle 集成是通过名为 Android Studio 插件的适当命名的插件实现的。
更多详情请访问:http://www.techotopia.com/index.php/An_Overview_of_Gradle_in_Android_Studio