티스토리 뷰

반응형

안드로이드 앱을 개발하면서 막상 build.gradle(빌드파일)에 대한 속성에 대해서 dependency를 제외하고는 제대로 알지 못했다.

그래서 면접 질문에 나왔는데 대답을 못했음..... ㄸㄹㄹㄹ... 

이참에 !! 정리해보자 !! 

 

참고 

- https://jw910911.tistory.com/49

- https://jsdev.kr/t/targetsdkversion-compilesdkversion/4653

- https://developer.android.com/guide/topics/manifest/uses-sdk-element.html

- https://medium.com/androiddevelopers/picking-your-compilesdkversion-minsdkversion-targetsdkversion-a098a0341ebd


build.gradle(Project)

- 내가 사용할 gradle script가 작성된 위치 설정

- dependency를 이용하기 위한 repository 설정

build.gradle(Module)

- 내가 어떻게 컴파일을 하겠다에 대한 정보를 가짐

- apply plugin: 'com.android.application' <= 빌드 대상은 애플리케이션임을 의미함. (com.android.application이라는 build script를 적용할 것이다. 만약, library일 경우, com.android.library )

 


compileSdkVersion

- 컴파일 시에 해당 버전으로 컴파일을 진행한다는 것을 의미

- 컴파일 버전에 따라 API의 사용여부를 확인할 수 있음 (Ex : deprecated 된 API 나 지원 가능 API 등을 알 수 있음)

( 컴파일 버전에 따라 해당 안드로이드 버전의 API를 이용할 수 있기 때문에, 항상 최신 버전으로 설정해 놓는 것이 좋다. 컴파일 시에만 적용되는 것으로써, runtime에는 아무런 영향을 미치지 않는다. )

 

buildToolsSdkVersion

- 빌드 도구에 대한 버전.

- 항상 최신 버전으로 유지.

 

minSdkVersion

- 앱이 실행되는 Android 플랫폼의 최소 버전

- API 수준 식별자에 의해 지정

 

targetSdkVersion

- 앱이 실행되는 API 수준 지정

- 시스템은 앱이 실행될 때, 시스템 수준의 API가 앱 수준의 API보다 높을 경우, 예상되어지는 동작을 수행하기 위해 호환성 동작을 활성화 할 수 있음. 이때, 해당 호환성 동작을 비활성화하기 위해서는 targetSdkVersion을 설정함.

(그러나, 앱을 유지관리하려면, 최신 API레벨에 맞춰 최신 버전으로 설정한 후, 테스트를 진행하는 것이 좋음)

 

versionCode

- 양의 정수이며, 내부 버전 번호로 사용.

- 버전이 다른 앱 간의 최신 버전을 판단하는데만 사용.

- 사용자에게 보여지는 버전번호가 아님.

- 사용자에게 버전번호를 표출하기 위해서는 versionName을 이용해야 함.

- versionCode가 Google Play나 현재 기기에 설치되어 있는 버전보다 낮다면, APK 설치 불가

 

versionName

- 사용자에게 표시되는 버전 번호로써 사용된느 문자열

 

-----------------------

따라서, 애플리케이션을 안정적으로 동작시키기 위해서는 

minSdkVersion <= targetSdkVersion == compileSdkVersion  

으로 설정하는 것이 좋다.

-----------------------

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함