안드로이드 기기 api 다운그레이드 테스트를 하다 아래와 같은 오류가 생겼습니다.
api 24 에서 개발하던 소스를 api 21 기기에 포팅했더니, 아래와 같은 오류가 생긴 상황입니다.
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android_test_system/com.example.android_test_system.Activity.Act_DSC.Act_Main}: android.view.InflateException: Binary XML file line #74: Binary XML file line #74: Error inflating class Button
Caused by: android.content.res.Resources$NotFoundException: Resource "com.example.android_test_system:drawable/main_btn_invoutfac" (7f08007c) is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f08007c a=-1 r=0x7f08007c} 오류
원인 분석 및 해결
stack overflow에서 찾아보니 drawable 폴더 뒤에 api 버전이 적힌대로 컴파일 한다는 내용이 있었습니다.
그래서 오류나는 button 쪽을 보니 원인은,, button의 background 파일만 아래의 그림처럼 drawable- v24 폴더에 있었습니다.
api 24에서 개발할 때는 drawable-v24로 찾아 들어가 찾을 수 있었는데, api 21로 바뀌면서 drawable-v24 의 폴더는 찾지 못해 오류가 난거 같습니다.
그래서 오류가 났던 파일, main_btn_invoutfac.jpg 를 drawable 폴더로 옮겨주고 다시 빌드하니 문제를 해결할 수 있었습니다.
'플랫폼 > 안드로이드 android' 카테고리의 다른 글
[안드로이드] Unable to locate adb 에러 (0) | 2021.05.25 |
---|---|
안드로이드 스피너 값 가져오기 (0) | 2020.04.28 |
안드로이드[Android] 4대 컴포넌트 설명 / 예시 (0) | 2020.03.31 |
안드로이드 유용한 오픈소스 사이트 (0) | 2020.02.22 |
안드로이드 스크롤 뷰 속성 (스크롤 바 조절) ScrollView (0) | 2020.02.18 |
댓글