-
[안드로이드 스튜디오] 빌드 과정 및 Gradle Scripts 정리안드로이드 2019. 12. 18. 09:14
먼저 안드로이드 빌드 과정을 살펴보겠습니다.
[출처] https://developer.android.com/studio/build?hl=ko 1. 안드로이드 컴파일러가 소스 코드를 DEX 파일로 변환하고, 리소스는 컴파일된 리소스로 만듭니다.
2. 이를 바탕으로 APK Packager가 DEX 파일과 컴파일된 리소스를 APK로 결합합니다.
3. 구글 플레이 등의 마켓에 배포할 수 있도록 서명하는 절차를 거친 후 APK를 만들어내게 됩니다.
이러한 과정을 해주는 안드로이드 공식 빌드 툴이 Gradle입니다.
Gradle을 통해 원하는 APK를 쉽게 생성할 수 있습니다.
build.gradle 파일에서 원하는 빌드 설정을 바꿀 수 있습니다.
build.gradle 파일은 두가지가 있는데 두가지 모두 살펴보겠습니다.
첫번째는 프로젝트 단위의 빌드 설정 파일입니다.
이파일은 모든 모듈에 적용되는 빌드 구성을 정의하는 파일입니다.
그래서 프로젝트 전반적인 것을 설정하는 것이 이 파일의 역할입니다.
빌드 시스템이 필요한 라이브러리를 다운로드 받는 곳은 google과 jcenter입니다.
그래서 저장소로 설정되어 있습니다.
그리고 이 프로젝트의 그레이들 버전이 3.5.3이라고 표시되어 있음을 확인할 수 있습니다.
그리고 task clean 부분은 파일을 새로 빌드할 때 기존의 파일은 어떻게 할 지에 대한 부분입니다.
여기서는 apk와 기타 파일들을 삭제하고 새로 빌드를 하도록 설정되어 있습니다.
두번째는 모듈 단위의 빌드 설정 파일입니다.
compileSdkVersion은 컴파일에 사용할 API 버전을 명시하는 부분입니다.
minSdkVersion은 최소 API 버전을 명시하는 부분입니다.
targetSdkVersion은 상위 버전이 나오더라도 이 앱이 적용되는 최적의 API 버전을 명시하는 부분입니다.
versionCode는 정수형 숫자로, 버전이 업데이트 될 때마다 숫자를 추가해주어 버전이 바뀌었음을 알려주는 부분입니다.
versionName은 사용자에게 직접 보여지는 부분으로 버전의 이름을 명시하는 부분입니다.
minifyEnabled 부분은 난독화를 설정하는 부분으로 역컴파일에 대비하여 코드를 쉽게 읽을 수 없도록 만드는 기능입니다. 설정하는 게 좋습니다. 이 툴로는 프로가드를 사용합니다.
proguardFiles는 난독화 룰을 정의하는 부분입니다.
dependecies는 앱을 구동하기 위해 꼭 필요한 라이브러리와의 의존성 관계를 명시하는 부분입니다.
이상 빌드 과정과 Gradle Scripts에 대해서 알아보았습니다.
'안드로이드' 카테고리의 다른 글
[안드로이드 스튜디오] 액티비티 생명주기(Activity LifeCycle) (0) 2019.12.18 [안드로이드 스튜디오] 프로젝트 파일 구조 (0) 2019.12.18 [안드로이드 스튜디오] Manifest 파일 기초 (0) 2019.12.18 [안드로이드 스튜디오] 오토 임포트 설정 (0) 2019.12.18