Android Studio中make和build之间的区别


134

Android Studio的“构建”菜单包含以下选项:

Make Project
Rebuild Project

我什么时候应该使用?


25
您忘记了另一个令人困惑的选项:“清理项目”。
Scott Biggs 2015年

Answers:


132

大多数时候,您应该使用Make Project。有时,在添加库并对项目进行重大更改之后,应该使用Rebuild Project

如果您查看菜单,将会看到Make ProjectCompile具有键盘快捷键,这表明它们经常被使用。其他人很少使用。

它与IntelliJ Idea相同。

编译指定范围内的所有源文件。在这种情况下,范围可以是文件,包等。

生成项目编译自上次编译以来已修改的整个项目中的所有源文件。相关的源文件(如果适用)也将被编译。此外,还执行与在已修改的源上进行编译或制作过程相关的任务。例如,如果在“验证”页面上启用了相应的选项,则执行EJB验证。

“使模块编译为已编译”是自上次编译以来所选模块中所有修改的源文件,以及它递归依赖的所有模块。

重建项目重新编译项目中的所有源文件。当类路径条目已更改(例如,正在使用的SDK或库已添加,删除或更改)时,这可能是必需的

IntelliJ Idea 13帮助中复制。


谢谢。我确实在jetbrains.com/idea/webhelp上使用了搜索功能,但未能获得有用的答案
cja 2013年

6
我仍然看不到何时使用它。
Kuno

1
@Kuno-使用Make项目仅编译其源代码已更改的文件。使用Rebuild项目编译所有源文件(无论它们是否已更改)
Nanda 2015年

1
这不是答案,因为Android Studio项目的编译方式是通过gradle。正确的答案将说明gradle级别之间的差异。
miguel 2015年

55

区别在于Rebuild首先执行gradle的clean任务。如果您在Gradle Console中查看,“ Rebuild Project”将显示类似

Executing tasks: [clean, :app:compileDebugSources, :app:compileDebugAndroidTestSources]

虽然“ Make Project”不会 clean

Executing tasks: [:app:compileDebugSources, :app:compileDebugAndroidTestSources]

我认为这应该是一个可以接受的答案。但是我在gradle控制台中进行“ Make Project”时发现了一些东西Executing tasks: [:app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies, :app:compileDebugSources, :app:compileDebugAndroidTestSources, :app:compileDebugUnitTestSources]
珍惜

每次我打Make Project内心声音都会告诉我要打Rebuild Project
iCantC

0

make和rebuild之间的区别是“干净”的任务。

当您重建项目时,它也会执行干净的操作。

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.