首页 > 解决方案 > android构建所需的最少文件

问题描述

试图找到在 Android Studio 中构建 android 项目所需的最低限度的源代码和构建文件。我想发布到 github 并避免上传生成的构建文件或二进制文件。

我确实有一个Android.gitignore,但我仍然看到更多文件被推送到 repo 中,这可能不是必需的。我理解一些明显的,但关于其他的,我需要它们吗?如果需要,请解释一下用法。

所以问题是,我是否需要以下内容,如果需要,那么简要说明原因?

  1. 构建.gradle

  2. gradle.properties

  3. 毕业典礼

  4. gradlew.bat

  5. 设置.gradle

/应用程序

  1. 应用程序/build.gradle

  2. 应用程序/proguard-rules.pro

/gradle(经过测试,如果不存在,android可以重新下载/生成)

  1. gradle/wrapper/gradle-wrapper.jar

  2. gradle/wrapper/gradle-wrapper.properties

标签: androidandroid-studiogradleandroid-build

解决方案


这个问题可以根据需要的词的含义有两个不同的答案。

第一个(真实的)

假设您的项目当前有这些文件,如果您的问题是:

我应该在我的 Git 存储库中提交这些文件吗?

答案是肯定的,所有这些,我正在解释原因:

    • build.gradle -> 定义项目中所有 Gradle 模块的配置(例如,使用相同的远程存储库下载一些 Gradle 插件)
    • gradle.properties -> 定义构建应用程序时使用的一些可选标志(例如启用增量 KAPT,启用 AndroidX jetifier)
    • gradlew -> 调用 Gradle 包装器(可以在下面找到gradle/wrapper/gradle-wrapper.jar)以避免在 Darwin/Linux 上构建项目时安装 Gradle
    • gradlew.bat -> 与gradlew相同,但适用于 Windows
    • settings.gradle -> 定义作为项目一部分的模块列表
  • 应用程序/

    • app/build.gradle -> 只为你的应用模块定义配置(例如它的构建类型、它的风格、它的版本代码和版本名称)
    • app/proguard-rules.pro -> 定义应用启用缩小时的混淆规则
  • 毕业典礼/

    • gradle/wrapper/gradle-wrapper.jar -> 为所有用户提供相同版本的 Gradle 包装器 jar。这非常重要,因为它强制用户使用相同版本的 Gradle 包装器来编译您的应用程序
    • gradle/wrapper/gradle-wrapper.properties -> 同上,它定义了你需要哪个版本的 Gradle 包装器

二(没用的)

现在,我将给你这个问题的答案:

这些文件是编译Android项目所必需的吗?

要使用 Gradle 成功编译 Android 项目,如果您的机器上安装了 Gradle,您只需要 root build.gradle,或者build.gradle如果您的机器上没有安装 Gradle,则需要 + 包装文件。理论上你可以:

  • build.gradle将您的应用程序代码放在根项目中,这样可以避免您settings.gradle
  • 禁用混淆,这可以避免你proguard-rules.pro
  • 通过命令行删除gradle.properties和设置属性

显然,这个解决方案不会发生在真实的项目场景中。


推荐阅读