Gradle
- 빌드 배포 도구, 빌드 시스템으로 구글에서 만든 Android Studio에서 기본적으로 빌드 시스템으로 사용 (Maven을 대체할 수 있는 빌드 도구이기도 함)
- 안드로이드 앱을 만들 때 필요한 공식 빌드 시스템으로 Java, C/C++, Python 등을 지원
- 빌드 툴인 Ant Builder와 그루비(Groovy) 스크립트 기반으로 구축되어 기존 Ant의 역활과 배포 스크립트의 기능을 모두 사용 가능
- 기존 빌드 도구인 ant와 maven의 단점을 보완
- gradle 명령어 사용시 build.gradle에 작성된 내용을 기반으로 실행
- Windows는 gradle을 Linux는 gradlew를 사용
- 안드로이드 스튜디오는 코드의 편집만 담당할뿐 빌드는 Gradle을 통해 모두 수행
장점
- 라이브러리 관리
-
Maven 레파지토리를 동일하게 사용할 수 있어서 설정된 서버를 통하여 라이브러리를 다운받아 모두 동일한 의존성을 가진 환경을 수정할 수 있음
- 프로젝트 관리
-
모든 프로젝트가 일관된 디렉토리 구조를 가지고 빌드 프로세스를 유지하도록 도와줌
- 단위 테스트시 의존성 관리
-
junit등을 사용하기 위하여 명시
프로젝트 구성
- build.gradle
-
모듈의 빌드 방법이 정의된 빌드 스크립트
-
빌드에 사용할 SDK 버전부터 시작하여 애플리케이션 버전, 사용하는 라이브러리 등 다양한 항목을 설정하는 것이 가능
- gradle 디렉토리
-
Gradle 환경을 정리한 wrapper 파일들이 저장
- gradlew
-
Linux와 MacOS용 Gradle의 명령
- gradlew.bat
-
windows용 gradle 명령
- settings.gralde
-
프로젝트에 대한 설정정보가 작성된 파일
- src 디렉토리
-
프로젝트에서 만든 프로그램(애플리케이션) 관련 디렉토리
-
.main 디렉토리
-
-
프로그램의 구성 파일들 (.java)이 모여있는 디렉토리
-
-
.test 디렉토리
-
-
단위 테스트 파일들이 모여있는 디렉토리
-
Gradle 명령어
- 프로그램 컴파일
-
gradle compileJava
- 프로그램 실행
-
gradle run
- 프로그램 패키징
-
gradle jar
- 프로젝트 클린 : 프로젝트를 빌드할 때 build 디렉토리에 여러 파일이 저장되는데 이를 초기화 하는 명령어
-
gradle clean
참조 URL