android - module、libraries、jar、library projects、gradle projects、aar和jar的区别

标签 android android-studio gradle

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

我正在逐 block 拼凑 Android 应用程序,这让我很痛苦。

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

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

最佳答案

我只是对其中的每一个进行简要说明。我希望我说清楚了。

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

库:AAR 文件、JAR 文件等

JAR:Java 库

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

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

库项目:Android 库项目类似于 Android 应用程序项目,因为它还在项目的根目录中包含一个项目 list 文件。此外,此目录包含 src、res 和您在构建应用程序项目时也会找到的其他目录。 但是,有一个显着差异。您不能将库项目编译成 APK 文件,因为库项目不描述应用程序。相反,当应用程序的项目和源代码引用库项目时,它提供有助于应用程序的可重用代码和资源。在构建时,此代码和这些资源会合并到应用的 APK 文件中。

为了对此进行更多解释,让我举个例子: 假设您想使用网络库 volley 进行 API 调用,现在由于这是来自 Google 的开源库,您可以克隆它并根据您的要求进行自定义。

您可以将volley库作为您的Library Project,独立构建,单元测试等。

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

  1. 编译您的库项目 volley,生成 aar 文件并将其添加到您的应用项目中。

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

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

关于android - module、libraries、jar、library projects、gradle projects、aar和jar的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37771888/

相关文章:

android - 在android手机OS =2.3.6上安装delphi应用

android - MonoDroid 为 EditText 设置最大值

android - 带选项卡的抽屉导航和工具栏

Gradle - 多项目构建中的路径

android - ionic Gradle 故障 "Could not find com.android.tools.build:gradle:2.2.3"

android - 如何在 Android TextView 中将文本换行到下一行?

android - Firebase Cloud Functions 和 Android 推送通知

java - 如何使用Android Studio生成ProGuard混淆?

android jetpack 入门项目无法运行

android - 具有Android Studio的OpenCV