android - android构建所需的最少文件
问题描述
试图找到在 Android Studio 中构建 android 项目所需的最低限度的源代码和构建文件。我想发布到 github 并避免上传生成的构建文件或二进制文件。
我确实有一个Android.gitignore,但我仍然看到更多文件被推送到 repo 中,这可能不是必需的。我理解一些明显的,但关于其他的,我需要它们吗?如果需要,请解释一下用法。
所以问题是,我是否需要以下内容,如果需要,那么简要说明原因?
根
构建.gradle
gradle.properties
毕业典礼
gradlew.bat
设置.gradle
/应用程序
应用程序/build.gradle
应用程序/proguard-rules.pro
/gradle(经过测试,如果不存在,android可以重新下载/生成)
gradle/wrapper/gradle-wrapper.jar
gradle/wrapper/gradle-wrapper.properties
解决方案
这个问题可以根据需要的词的含义有两个不同的答案。
第一个(真实的)
假设您的项目当前有这些文件,如果您的问题是:
我应该在我的 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
和设置属性
显然,这个解决方案不会发生在真实的项目场景中。
推荐阅读
- php - PHP 从 CSV 文件中提取标题行 - 代码解释
- scala - 在 Scala 中使用 Try 进行错误处理的最佳实践
- java - 如何从输入中生成随机值?
- azure - 如何在 Azure 中从 GCP 设置类似的识别感知代理
- c# - 仅推断具有多个泛型类型的一种类型
- javascript - 变量可以用“this”关键字声明吗?
- xcode - Xcode 似乎在运行脚本构建阶段修改了 bash 脚本中的路径
- excel - ADODB with provider MSDAORA in Powershell
- javascript - 合并来自不同查询的数据而不重复
- sql - Postgres Group by like 模糊逻辑