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 Project
和 Rebuild 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区别