android studio中clean项目和rebuild项目的区别

Posted

技术标签:

【中文标题】android studio中clean项目和rebuild项目的区别【英文标题】:Difference between clean project and rebuild project in android studio 【发布时间】:2014-07-27 20:01:48 【问题描述】:

Clean ProjectRebuild Project(在 Android Studio 中)有什么区别?

我在R file 上遇到了关于res ids 的问题,因此我将文件扩展名从gif 更改为png,然后[我的构建失败。] 我发现解决方案是Rebuild Project。这提示了我上面的问题。

【问题讨论】:

【参考方案1】:

清理只是删除所有构建工件。重建会进行清理,然后再构建您的项目。

编辑 #2 这是 100% 正确的。请参阅this 以全面了解其正确性。

【讨论】:

我认为这不是真的。在这两种情况下,我都会在日志中看到以下条目。在我看来它们是相同的。 22:54:38 执行任务:[clean, :app:generateDebugSources, :app:generateDebugandroidTestSources, :app:compileDebugSources, :app:compileDebugAndroidTestSources] 也看不出它们之间的区别。 +1 @vogella 在我面前抓住它。 这肯定是最近对 Android 项目的 gradle 规则所做的更改。以前它做了我所描述的。 刚刚验证这是对 Android Studio 和 gradle 设置的最新更改。 “重建”实际上并没有创建 APK,您必须先尝试运行或导出为发行版。而且,Android Studio 中的“清理”执行与“重建”相同的任务:清理:Information:Gradle tasks [clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:compileDebugSources, :app:compileDebugAndroidTestSources] 重建:Information:Gradle tasks [clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:compileDebugSources, :app:compileDebugAndroidTestSources] 现在经过三重验证。两个菜单选项完全相同!感谢 Google 让 Android 变得复杂(工作安全)!【参考方案2】:

我所经历的,

当您进行清理时,它会删除 build 文件夹中的二进制文件,并将再次构建它们推迟到下一次运行。

当您进行重建时,它会清理并重建 build 文件夹中的那些文件,这些文件会在下次运行时再次重建。它不会重建 APK!这真的很奇怪。

所以:

Clean 删除构建文件夹的内容。

Rebuild 删除构建文件夹的内容。并构建一些二进制文件;不包括 APK!

顺便说一句,我使用的是 Android Studio 2.0 Preview 7。

【讨论】:

我刚刚运行干净,它清理了所有模块,然后构建了所有模块。尽管预期只是删除 bin 文件夹,但需要几分钟,这应该最多需要 10 秒。 :( @riper 有 2 个 build(binaries) 文件夹,一个在 app 模块内部,另一个用于整个 app,两者都是清理后重新生成的,所以如果 gradle 需要一些时间在线工作,它会检查你所有的图书馆等。

以上是关于android studio中clean项目和rebuild项目的区别的主要内容,如果未能解决你的问题,请参考以下文章

android studio 里面build,clean区别

Android studio清理项目构建

Android Studio创建项目报错

clean 和 gradlew clean 的区别

Visual Studio中Rebuild和Clean + Build之间的区别

Android Studio Build选项的功能