Diferencia entre hacer y construir en Android Studio

134

El menú de Android Studio Build tiene opciones que incluyen

Make Project
Rebuild Project

¿Cuándo debo usar cada uno?

cja
fuente
25
Olvidó una opción más confusa: Proyecto limpio.
SMBiggs

Respuestas:

132

La mayoría de las veces debes usar Make Project . A veces, después de agregar bibliotecas y realizar grandes cambios en el proyecto, debe usar Rebuild Project .

Si observa el menú, verá que Make Project and Compile tiene atajos de teclado, lo que sugiere que a menudo se usan. Otros rara vez se usan.

Es lo mismo que IntelliJ Idea.

Compilar Se compilan todos los archivos de origen en el ámbito especificado. El alcance en este caso puede ser un archivo, un paquete, etc.

Crear proyecto Todos los archivos de origen en todo el proyecto que se han modificado desde la última compilación se compilan. Los archivos de origen dependientes, si corresponde, también se compilan. Además, se realizan las tareas vinculadas a la compilación o el proceso de creación en fuentes modificadas. Por ejemplo, la validación EJB se realiza si la opción correspondiente está habilitada en la página Validación.

Make Module Compiled son todos los archivos fuente que se han modificado desde la última compilación en el módulo seleccionado, así como en todos los módulos de los que depende de forma recursiva.

Reconstruir proyecto Todos los archivos de origen en el proyecto se vuelven a compilar. Esto puede ser necesario cuando las entradas de classpath han cambiado, por ejemplo, los SDK o las bibliotecas que se usan se agregaron, eliminaron o alteraron

Copiado de la ayuda de IntelliJ Idea 13 .

Grzegorz Żur
fuente
Gracias. Utilicé la función de búsqueda en jetbrains.com/idea/webhelp pero no pude acercarme a una respuesta útil
cja
66
Todavía no veo cuándo usar cuál.
Kuno
1
@Kuno - Use Make project para compilar solo los archivos cuyo código fuente ha sido cambiado. Utilice el proyecto Reconstruir para compilar todos los archivos de origen (independientemente de si han cambiado o no)
Nanda
1
Esta no es una respuesta porque la forma en que se compilan los proyectos de Android Studio es a través de gradle. Una respuesta correcta diría cuáles son las diferencias a nivel de gradle.
miguel
55

La diferencia es que Reconstruir ejecuta primero la tarea de limpieza de gradle. Si miras en la consola de Gradle, 'Proyecto de reconstrucción' dirá algo como

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

Mientras que 'Make Project' no tendrá clean

Executing tasks: [:app:compileDebugSources, :app:compileDebugAndroidTestSources]
miguel
fuente
Creo que debería ser la respuesta aceptada. Pero encuentro algo mientras 'Make Project' en la consola de Executing tasks: [:app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies, :app:compileDebugSources, :app:compileDebugAndroidTestSources, :app:compileDebugUnitTestSources]
gradle
Cada vez que golpeo Make Projectuna voz interior me dice que golpee Rebuild Projectsolo para estar seguro.
iCantC
0

La diferencia entre hacer y reconstruir es una tarea "limpia".

Cuando reconstruye el proyecto, también se realiza la limpieza.

rupesh jain
fuente