Android/안드로이드 프로그래밍 Next Step
[Next Step] 1장 안드로이드 프래임워크 - 안드로이드 버전
Diane_KIM
2023. 6. 17. 18:33
코드네임 | API | 안드로이드 버전 | 공개일자 |
프로요 | 8 | 2.2 | 2010.05.20 |
진저브레드 | 9 - 10 | 2.2, 2.3 | 2010.12.06 |
허니콤 | 11 - 13 | 3.0 - 3.2 | 2011.02.22 |
ICS (아이스크림 샌드위치) | 14 - 15 | 4.0 - 4.0.4 | 2011.10.19 |
젤리빈 | 16 -18 | 4.1 - 4.3 | 2012.06.28 |
킷캣 | 19 - 20 | 4.4 - 4.4.4 | 2013.09.04 |
롤리팝 | 21 - 22 | 5.0, 5.1 | 2014.06.26 |
마시멜로 | 23 | 6.0 | 2015.09.29 |
누가 | 24 | 7.0 | 2016.08.23 |
오레오 | 26 - 27 | 8.0 | 2017.08.22 |
파이 | 28 | 9 | 2018.08.07 |
10 ~ 14 (지원중) | 29 - | 10 - | 2019.09.04 - |
* 2023년 3월 기준 카카오톡의 최소 요구 안드로이드 버전은 누가
호환성 모드
build.gradle에 기재되어 있는 targetSdkVersion은 AndroidManifest.xml에서 지정하는 min, target SDK 버전을 오버라이드한다.
targetSdkVersion은 반드시 지정
- 명시하지 않으면 minSdkVersion과 동일한 값으로 지정
- targetSdkVersion을 지정한다는 것은 해당 버전까지는 테스트해서 앱을 실행하는데 문제가 없다는 의미
= 그 버전까지는 호환성 모드를 쓰지 않겠다
compileSdkVersion 은 컴파일 시에 어느 버전의 android.jar를 사용할지 정하는 것
- android.jar 의 위치 : <sdk>/platforms/android-[버전] 디렉터리에 위치
support 패키지의 -Compat 클래스 사용
- compat : 호환 메서드가 작성된 클래스
- support-v4에 호환 메서드가 없다면, 버전마다 동작이 달라지도록 코드를 작성할 때는 ViewCompat 클래스 구조를 활용해 별도로 만들것.