android 构建所需的最少文件

Minimum Necessary files for an android build

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

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

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

root

  1. build.gradle

  2. gradle.properties

  3. gradlew

  4. gradlew.bat

  5. settings.gradle

/应用程序

  1. app/build.gradle

  2. app/proguard-rules.pro

/gradle(经过测试,如果不存在,android可以re-download/generate跟随)

  1. gradle/wrapper/gradle-wrapper.jar

  2. gradle/wrapper/gradle-wrapper.properties

根据需要的意思,这个问题可以有两个不同的答案。

第一个(真正的)

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

Should I commit these files on my Git repo?

答案是,都是,我在解释原因:

  • root

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

    • app/build.gradle -> 仅为您的应用程序模块定义配置(例如,它的构建类型、风格、版本代码和版本姓名)
    • app/proguard-rules.pro -> 定义当您的应用启用缩小时的混淆规则
  • gradle/

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

第二个(没用的那个)

现在,我将回答您的问题:

Are these files strictly needed to compile an Android project?

要使用 Gradle 成功编译一个 Android 项目,如果您的计算机上安装了 Gradle 或 build.gradle +,您只需要根目录 build.gradle如果您的计算机上尚未安装 Gradle,则包装文件。 理论上你可以:

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

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