Android Studio에서 make와 build의 차이점


134

Android Studio 빌드 메뉴에는 다음을 포함한 옵션이 있습니다

Make Project
Rebuild Project

언제 사용해야합니까?


25
하나 더 혼란스러운 옵션을 잊었습니다 : 프로젝트 정리.
Scott Biggs

답변:


132

대부분의 경우 Make Project 를 사용해야합니다 . 때로는 라이브러리를 추가하고 프로젝트를 크게 변경 한 후에 Rebuild Project 를 사용해야합니다 .

메뉴를 보면 Project ProjectCompile 에 키보드 단축키가 있음을 알 수 있습니다. 즉, 키보드 단축키가 자주 사용됨을 나타냅니다. 다른 사람들은 거의 사용하지 않습니다.

IntelliJ Idea와 동일합니다.

컴파일 지정된 범위의 모든 소스 파일이 컴파일됩니다. 이 경우의 범위는 파일, 패키지 등일 수 있습니다.

프로젝트 만들기 마지막 컴파일 이후 수정 된 전체 프로젝트의 모든 소스 파일이 컴파일됩니다. 해당되는 경우 종속 소스 파일도 컴파일됩니다. 또한 편집 또는 수정 된 소스에 대한 작성 프로세스와 관련된 작업이 수행됩니다. 예를 들어, 유효성 검증 페이지에서 해당 옵션이 사용 가능한 경우 EJB 유효성 검증이 수행됩니다.

Make Module Compiled는 선택된 모듈과 재귀 적으로 의존하는 모든 모듈에서 마지막 컴파일 이후 수정 된 모든 소스 파일입니다.

프로젝트 다시 빌드 프로젝트의 모든 소스 파일이 다시 컴파일됩니다. 추가, 제거 또는 변경되는 SDK 또는 라이브러리와 같이 클래스 경로 항목이 변경된 경우에 필요할 수 있습니다.

IntelliJ Idea 13 도움말 에서 복사했습니다 .


감사. jetbrains.com/idea/webhelp 에서 검색 기능을 사용 했지만 유용한 답변 근처에 도착하지 못했습니다
cja

6
나는 언제 어느 것을 사용 해야하는지 아직 알지 못합니다.
Kuno

1
@Kuno- 소스 코드가 변경된 파일 만 컴파일 하려면 Make project 를 사용하십시오 . 프로젝트 다시 빌드를 사용 하여 변경 여부에 관계없이 모든 소스 파일을 컴파일하십시오.
Nanda

1
Android Studio 프로젝트가 컴파일되는 방식은 gradle을 통해 이루어지기 때문에 대답이 아닙니다. 정답은 그 차이가 gradle 수준에 있다고 말할 것입니다.
miguel

55

차이점은 Rebuild가 gradle의 정리 작업을 먼저 실행한다는 것입니다. Gradle Console을 보면 '프로젝트 다시 빌드'는 다음과 같이 말합니다.

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

'프로젝트 만들기'는하지 않지만 clean

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

나는 그것이 대답으로 받아 들여 져야한다고 생각하지만 gradle 콘솔에서 '프로젝트 만들기'동안 뭔가를 발견합니다.Executing tasks: [:app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies, :app:compileDebugSources, :app:compileDebugAndroidTestSources, :app:compileDebugUnitTestSources]
chefish

내가 Make Project내면의 목소리를 낼 때마다 Rebuild Project확실 하게 치는 소리가납니다 .
iCantC

0

make와 rebuild의 차이점은 "깨끗한"작업입니다.

프로젝트를 다시 빌드 하면 깨끗하게 수행됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.