본문 바로가기

안드로이드앱 코딩_AndroidApp/안스_코틀린_쪼개기

파편18_Gradle

앱을 테스트하고 배포하기 위해서는 build(빌드)라는 작업을 거친다.

 

테스트 하라는 명령을 내리면 안드로이드 스튜디오는 작성한 코드를 컴파일(compile)해서  ART(Android Run Time)로 실행한다. 또한 배포용 파일인 APK파일을 만들라는 명령을 내리면  리소스와 자바코드를 컴파일(compile) 하는 과정을 거쳐 실행파일을 만든다.

 

그 다음 개발자가  key로 서명하면 만들수 있다. 이 빌드 작업을 위한 도구가 gradle이다.

 

 

build.gradle파일은 2종류가 있다.

 

  • Project
  • Module

 

1. Project

 

프로젝트 전체를 위한 설정, 모든 모듈을 위한 최상위 설정을 기록한다. 

 

라이브러리를 추가할 경우 dependencies에 기록한다.

dependency(디펜던시)는 '의존, 종속'이라는 뜻이다.

외부에서 참조하는 기능이 담긴 라이브러리를 등록하는 부분이다.

 

여기에 추가하는 라이브러리는 프로젝트의 시스템 빌드와 관련된 것만 넣어야 한다. 특별한 경우를 제외하고 이 부분을 사용할 경우는 없다.  gradle이나 plugin(플러그인)이 업그레이드 되었을 때나 수정하는 곳이다.

그 아래에 보면 주석으로 '주의' 메시지까지 적혀 있다.

"주의: 여기에 당신의 앱 dependencies를 추가하지 마시오; 그것들은 개별 모듈의 build.gradle 파일에 속하는 것들이다."

 

그러므로 앱 관련 라이브러리 등록은 Module의 dependencies 코드에 등록해야 한다.

 

2. Module (모듈) 

 

각 모듈을 위한 설정, 모듈을 개발하고 빌드할 때 필요하다. 

모듈은 프로젝트를 구성하는 단위이다. 프로젝트는 여러 개의 모듈을 포함할 수 있다.

 

  • compileSdkVersion의 경우 외부코드를 import한 경우 빌드 설정을 조정해야 할 경우도 있다.
  • defaultConfig에 있는 applicationId는 앱의 '신분증'과 같으므로 만약 구글플레이에 앱을 등록하려면 '단 하나 밖에 없는' 문자열로 이루어져야 한다. 구글플레이에 같은 문자열을 가진 다른 앱이 이미 있다면 등록이 안된다는 뜻이다.
  • 구글 플레이에 앱을 등록한 후 업그레이드 해서 다시 등록할 때는 versionCode를 수정하여 재등록 해야 한다.

 

settings.gradle

 

 

여기에는 관리하고 빌드해야 하는 모듈(Module)이 등록된다.

위 그림에서는 app 하나만 등록되어 있다.

 

Wraven...