ChatGPT解决这个技术问题 Extra ChatGPT

clean 和 gradlew clean 的区别

从 Android Studio 项目的终端发出以下语句有什么区别:

Android_Studio_Project_Path: ./gradlew clean Android_Studio_Project_Path: ./gradlew clean assembleDebug Android_Studio_Project_Path: ./gradlew clean :assembleDebug and normal Android Studio --> Build --> Clean。

内部流程会有什么不同。


C
Community

./gradlew clean 使用项目的 gradle 包装器执行项目的 clean 任务。通常,这只是意味着删除构建目录。 ./gradlew clean assembleDebug 同样,使用项目的 gradle 包装器分别执行 clean 和 assembleDebug 任务。因此,它将首先清理,然后在任何非最新相关任务之后执行 assembleDebug。 ./gradlew clean :assembleDebug 与#2 基本相同。冒号代表任务路径。任务路径在 gradle 多项目中是必不可少的,在这种情况下并不是那么重要。这意味着运行根项目的 assembleDebug 任务。在这里,根项目是唯一的项目。 Android Studio --> Build --> Clean 与 ./gradlew clean 本质上是一样的。看这里。

有关更多信息,我建议花时间阅读 Android 文档,尤其是 this one


很高兴我能帮上忙。 Gradle 非常棒,尤其是用于管理复杂的构建,例如 Android。我期待本机构建的许多其他功能即将推出......
快捷键呢:Shift+CMD+C?为什么不删除构建目录?
您能否提供指向该快捷方式说明的链接?我找不到它here,除非我错过了它。
也许是愚蠢的问题,但这些命令只删除项目/构建文件夹,但项目/应用程序/构建保持不变。任何人都可以建议如何删除子模块中的构建文件夹。提前致谢
@aruy 不是一个愚蠢的问题。 gradlew clean 应该为 当前项目 目录和任何 子项目 运行 clean 任务。请参阅here。 2个你必须问的问题。项目/应用程序是您正在运行的项目构建的 子项目 吗? project/app/build 文件夹真的是构建输出目录吗?
A
Abhishek Garg

你也可以使用

./gradlew clean build(Mac 和 Linux)- 使用 ./

gradlew clean build (Windows) - 没有 ./

它删除构建文件夹,以及配置您的模块,然后构建您的项目。

我在 Playstore 上发布任何新应用程序之前使用它。


@ichimaru 如果使用 Powershell 终端,命令必须如下:.\gradlew clean build
C
Cristofer

你也应该使用这个:

./gradlew :app:dependencies(Mac 和 Linux)-使用 ./

gradlew :app:dependencies (Windows) - ./

您在内部使用任何其他版本的 google play 服务的库。如果是,则删除或更新这些库。


S
Sandeep Gupta

兄弟,这个问题确实得到了 69 票。