Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 안드로이드 mvvm
- livedata
- withContext
- #큐구조 #큐다운로드
- 안드로이드 스튜디오 애뮬레이터
- 토글 험수
- 플라스틱 생분해
- apk이름변경
- var 와 val
- 코틀린 트리거 버튼
- 1회용컵
- 코틀린 이미지저장 #파일저장
- 코루틴 job
- 안드로이드스튜디오 jdk
- 안드로이드 sms
- viewmodelscope
- 스레드 #코루틴
- 라이브데이터 postValue
- TowmonUSB 연결오류
- 셀룰로오스-g-폴리락타이드 공중합체
- compse collectAsState
- 1회용 플라스틱컵
- 비콘스캐닝
- Room 데이터베이스 업데이트
- TwomonUSB
- bluetoothmanager
- 안드로이드 비콘
- 모의위치 주입
- compse state
- json 저장
Archives
- Today
- Total
EnjoyLife
안드로이드스튜디오에 알맞는 JDK는 단연17 본문
신규 Android 앱을 만들 때는 JDK 17을 사용하는 것을 권장드립니다. 그 이유를 정리해 보면 다음과 같습니다.
- LTS(장기 지원) 안정성
- JDK 17은 2021년 9월에 나온 LTS 버전으로, 버그 픽스·보안 업데이트가 최소 2029년까지 지원됩니다.
- JDK 21 역시 LTS이지만 출시(2023년 9월)가 비교적 최근이라, Android 생태계 전반에서 아직 검증·호환성 테스트가 충분히 이뤄지지 않았습니다.
- Android Gradle Plugin(AGP) 호환성
- 현 시점(2025년 기준) Android Studio·AGP 공식 문서 상으로는 JDK 17까지 안정적으로 지원됩니다.
- JDK 21을 쓰려면 Gradle 8.5 이상, AGP 8.5 이상으로 모두 업그레이드해야 하는데, 일부 서드파티 플러그인이나 라이브러리가 아직 JDK 21을 제대로 인식하지 못할 수 있습니다.
- 빌드 도구 & CI 환경
- 대부분의 CI/CD 파이프라인(예: GitHub Actions, Jenkins, Bitrise) 기본 Java 이미지가 JDK 17 기반입니다.
- JDK 21을 쓸 경우, 별도 커스텀 이미지나 설치 스크립트를 추가해야 할 가능성이 커집니다.
- Java 언어 기능
- JDK 17에도 sealed class, records, 패턴 매칭 등 최신 문법 대부분이 포함되어 있어, 앱 개발에 충분한 기능을 제공합니다.
- JDK 21의 신규 기능을 꼭 써야 하는 특별한 이유가 없다면, 오히려 호환성 문제만 늘어날 수 있습니다.
결론
- 안정성과 호환성을 최우선으로 할 때 → JDK 17
- 만약 “최신 Java 기능”을 꼭 사용해야 하고, AGP·Gradle·서드파티 라이브러리도 모두 JDK 21을 완전히 지원하는 환경이라면 → JDK 21 고려 가능
대부분의 신규 Android 프로젝트는 JDK 17으로 시작하고, 도구 체인이 충분히 JDK 21을 공식 지원할 때 그때 업그레이드하시는 걸 추천드립니다.
'안드로이드 개발 > 개발팁' 카테고리의 다른 글
내 앱의 특정 서비스가 foreground로 실행 중인지 추가 확인 (1) | 2025.05.28 |
---|---|
viewModelScope 와 lifecycleScope 은 각각 어떻게 구별해서 쓸까? (0) | 2025.05.06 |
아직도 스레드를 아직도 사용하는 개발자들에게 고함 (0) | 2025.03.27 |
mvvm 기반의 앱 폴더 구조 (0) | 2025.03.20 |
Room 프로세스 (0) | 2024.12.10 |