Android Studio中清理项目和重建项目之间的区别


74

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

  • 我的R fileabout存在问题res ids,因此我将文件扩展名从更改gifpng,然后[我的构建失败。]
  • 我发现解决方法是Rebuild Project。这提示了我上面的问题。

Answers:


81

清除只会删除所有构建工件。重建会先清理干净,然后再构建项目。

编辑#2这是100%正确。请参考此内容以证明其正确性。


26
我认为这是不正确的。在这两种情况下,我都会在日志中看到以下条目。在我看来,它们是相同的。22:54:38执行任务:[干净,:app:generateDebugSources,:app:generateDebugAndroidTestSources,:app:compileDebugSources,:app:compileDebugAndroidTestSources]
vogella

8
也看不到它们之间的差异。+1到@vogella在我面前发现了它。
SMBiggs

2
这必须是对Android项目的gradle规则的最新更改。以前它按照我的描述做。
拉里·谢弗

3
刚刚确认这是对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]
拉里·谢弗

39
现在经过三重验证。两种菜单功能完全相同!感谢Google使Android保持复杂(工作安全性)!
SMBiggs

9

我所经历的

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

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

所以:

清除将删除构建文件夹中的内容。

重新生成将删除生成文件夹的内容。并构建一些二进制文件;不包括APK!

顺便说一句,我正在使用Android studio 2.0 Preview 7。


1
我只是清理干净,清理了所有模块,然后构建了所有模块。尽管预期只是删除bin文件夹花了几分钟,但最多需要10秒。:(

1
@riper有2个build(binaries)文件夹,一个在应用程序内部模块,另一个在整个应用程序内部,两个文件夹都被清理并在清理后重新生成,因此,如果gradle在线工作,它将花费一些时间,它将检查所有图书馆等
。– MBH
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.