Android 模块、库、jar、库项目、gradle项目、aar和jar之间的区别
我在一家公司工作,该公司拥有一个由离岸团队开发的android移动应用程序。我可以访问GitHub存储库 我正在一块一块地拼凑android应用程序,这让我感到非常痛苦 如何区分模块、库、jar、库项目、gradle项目、aar和jar。有人能给我一个实用的定义吗。不是从一个奇怪的谷歌搜索出来的。我也有谷歌 PS是的,我是一个noob,并不为此感到骄傲。1.)模块Android 模块、库、jar、库项目、gradle项目、aar和jar之间的区别,android,android-studio,gradle,Android,Android Studio,Gradle,我在一家公司工作,该公司拥有一个由离岸团队开发的android移动应用程序。我可以访问GitHub存储库 我正在一块一块地拼凑android应用程序,这让我感到非常痛苦 如何区分模块、库、jar、库项目、gradle项目、aar和jar。有人能给我一个实用的定义吗。不是从一个奇怪的谷歌搜索出来的。我也有谷歌 PS是的,我是一个noob,并不为此感到骄傲。1.)模块 模块是源文件和生成设置的集合,允许您将项目划分为离散的功能单元。您的项目可以有一个或多个模块,一个模块可以使用另一个模块作为依赖项。
模块
是源文件和生成设置的集合,允许您将项目划分为离散的功能单元。您的项目可以有一个或多个模块,一个模块可以使用另一个模块作为依赖项。每个模块都可以独立构建、测试和调试
Android Studio中有4种类型的模块
- 电话和桌子模块
- 安卓穿戴模块
- 安卓电视模块
- 玻璃模块
- 框架组件的版本
- UI元素来实现推荐的Android
- 支持不同的应用程序
- 杂项功能
JarFile
用于从jar文件中读取jar条目及其相关数据
有关更多详细信息,请访问:
4.)Android库项目
安卓团队推出了一种名为安卓存档(AAR)的新二进制分发格式。.aar包是Android库项目的二进制发行版
AAR类似于JAR文件,但它可以包含资源和编译的字节码。这允许AAR文件包含在Android应用程序的构建过程中,类似于JAR文件
5.)格拉德尔和格拉德尔项目
Gradle
是一个自动构建工具包,它允许通过一组构建配置文件来配置和管理项目的构建方式。这包括定义如何构建项目、成功构建项目需要满足哪些依赖关系以及构建过程的最终结果(或结果)。Gradle的优势在于它为开发人员提供的灵活性。Gradle系统是一个独立的、基于命令行的环境,可以通过使用插件集成到其他环境中。对于Android Studio,Gradle集成是通过适当命名的Android Studio插件提供的
有关更多详细信息,请访问此网站:我只是简单介绍一下其中的每一项。我希望我明白了
模块:模块是应用程序的一个组件,可以独立构建/测试,并在需要时在另一个应用程序中重复使用
库:AAR文件、JAR文件等
JAR:Java库
AAR:就像JAR一样,唯一的区别是它还包含android特定的文件,如资源等
Gradle项目:Gradle只是一个构建系统,Android Studio使用它来构建Android项目。与早期Eclipse中使用的构建系统相比,它非常强大
库项目:Android库项目类似于Android应用程序项目,因为它还包括项目根目录中的项目清单文件。此外,此目录包含src、res以及在构建应用程序项目时也可以找到的其他目录。
然而,有一个显著的差异。无法将库项目编译为APK文件,因为库项目不描述应用程序。相反,它提供了可重用的代码和资源,当应用程序的项目和源代码引用库项目时,这些代码和资源将为应用程序做出贡献。在构建时,此代码和这些资源合并到应用程序的APK文件中
为了进一步解释这一点,让我举个例子:
假设您想使用网络库截取进行API调用,现在由于这是一个来自Google的开源库,您可以根据需要进行定制
您可以将volley库作为库项目、独立构建、单元测试等
现在假设您开始构建一个需要进行HTTP调用的应用程序,因此需要向项目中添加volley库。您有两种选择:
编译你的库项目截取,生成aar文件并将其添加到你的应用程序项目中
在项目中添加截击作为模块。(如果选择此选项,则可以在同一studio项目中更改volley库,因为它将作为项目中的组件)
如果有什么不清楚的地方,请告诉我。将库用作.aar文件或模块是否有任何性能或与逆向工程相关的差异?非常感谢,我知道已经晚了四年,但这在四年后更有意义。