android/Gradle
안드로이드 Build 공식문서 공부
코코넛딩
2025. 1. 8. 07:56
Build란 무엇일까요?
- 빌드 시스템은 소스를 실행가능한 애플리케이션으로 변환합니다.
- 빌드는 애플리케이션이나 라이브러리를 분석,컴파일, link, package(패키징)하기 위해 여러 도구를 사용한다.
- Gradle은 이러한 명령을 구성하고 실행하기 위해 task 기반 접근 방식을 사용한다.
- task는 입력을 출력으로 변환하는 명령어를 캡슐화한다.
- Plugin은 task와 그 설정을 정의한다.
- 플러그인을 빌드에 적용하면 태스크가 등록되며, 입력과 출력을 통해 서로 연결된다.
- 예를 들어, Android Gradle Plugin(AGP)을 빌드 파일에 적용하면 APK나 Android 라이브러리를 빌드하는 데 필요한 모든 태스크가 등록됩니다.
- java-library 플러그인을 사용하면 Java 소스코드에서 jar 파일을 빌드할 수 있습니다.
- 그러나 선언형 DSL(Domain-Specific Language)를 통해 빌드를 추가로 구성할 수 있습니다.
- DSL은 빌드 방법이 아닌 빌드할 항목을 지정할 수 있도록 설계되었다.
- 플러그인 로직이 빌드 방법을 관리한다.
- 태스크 입력은 파일과 디렉토리 뿐만 아니라 정수, 문자열, 커스텀 클래스와 같은 Java 타입의 정보를 포함할 있습니다.
- 출력은 디스크에 기록되므로 디렉토리나 파일만 가능합니다.
- 태스크 출력을 다른 태스크 입력에 연결하면 태스크들이 순서대로 실행되도록 묶입니다.