반응형
안드로이드 버전이 매년 업데이트가 되면서
사용자들의 안드로이드 버전이 파편화 된지 오래 되었다
문제는 버전별로 지원하는 기능과 적용방법이 틀려지면서
개발자들의 머리를 복잡하게 만들고
앱 크래쉬나 버그도 많아진다는 거다
이제 와서 빌드 버전을 강제하면서 과거 안드로이드 OS 를 지원안하는 방식으로 줄이려고 구글이 노력하고 있지만
어차피 오픈소스 성향이 강하고 휴대폰 성능이 너무 좋아서 빨리 바뀌지는 않을꺼다
예를 들어서
아래는 다이나믹컬러를 적용하는 코드
Build.VERSION.SDK_INT >= Build.VERSION_CODES.S
다이나믹 코드는 VERSION_CODES.S 이상 부터 적용된다
S = API 31 = 안드로이드 12 이상 만 적용된다
이거는 그나마 적용되고 안되고니 단순하지만
파일 내보내기 가져오기의 경우는 버전별로 코드와 권한 필요여부가 다 상이하다
val dynamicColor = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S
val colors = when {
dynamicColor && useDarkTheme -> dynamicDarkColorScheme(LocalContext.current)
dynamicColor && !useDarkTheme -> dynamicLightColorScheme(LocalContext.current)
useDarkTheme -> DarkColors
else -> LightColors
}
그러니 개발하면서 수시로 빌드번호와 안드로이드 버전코드를 찾아보고 있다 ㅠㅠ
https://source.android.com/docs/setup/about/build-numbers?hl=ko
반응형
'IT > 안드로이드' 카테고리의 다른 글
Android Coroutine 의 Dispatcher 종류와 사용방법 (0) | 2023.06.27 |
---|---|
안드로이드 기기 카탈로그 (android catalog) (1) | 2023.05.08 |
jetpack compose paging3 사용시 주의사항 (immutable 데이터만 사용) (1) | 2023.05.08 |
android studio different debug vs release libraries version (0) | 2023.04.26 |
jetpack compose 에서 MutableStateFlow vs MutableState (0) | 2023.02.16 |
안드로이드 jetpack compose MVI 패턴 개발시 참고 소스 (0) | 2023.02.15 |
openAI 의 API 엮는 샘플 (0) | 2023.02.14 |
애뮬레이터 Bios 리스트 (0) | 2023.02.14 |