[문제 발생]
어느 순간부터 layout의 자동완성 기능이 안되기 시작했다.
layout에서 뷰를 그릴 때 string , color , dimens 등 다양한 value를 사용하려면 자동완성을 통한 코딩이 꼭 필요하다.
철자가 틀려도 xml에서는 오류가 잘 캐치되지 않기 때문에 자동완성 기능이 없으면 빌드 할 때 오류가 발생한다.
빠른 개발 속도를 위해서라도 문제 해결이 필요했다.
[해결 방법 / 시도]
1. cache 삭제 해보기
안드로이드 내부에 cache가 쌓여서 자동완성 기능이 동작하지 않을 수도 있다.
안드로이드 스튜디오 상단에 file - settings 메뉴에 들어간다.
이후에 Editor - Code Completion에서 Match case의 체크를 해제 해준다.
안드로이드 스튜디오를 종료한다.
내 PC - Users - 사용자 이름 - .andorid 에 접속하면 cache 폴더가 있다.
이 폴더를 삭제하고 안드로이드를 다시 시작한다.
cache 폴더를 삭제했지만 여전히 자동완성 기능이 되지 않았다.
2. andoird sdk 버전 낮추기
Android sdk 는 애플리케이션 개발에 사용되는 개발 도구 세트이다.
필수 라이브러리 , 디버거, 애뮬레이터 등과 다양한 API 관련 문서를 제공한다.
혹시나 sdk 관련 문제인지 확인하기 위해서 sdk의 버전을 낮춰보았다.
app : build.gradle에 들어간다.
sdk 버전이 33으로 되어있어서 32로 낮춰보았다.
compileSdk 32
defaultConfig {
applicationId "com.example.todolistjinuemong"
minSdk 21
targetSdk 32
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
Sync Now를 진행한다.
이제 자동완성 기능이 동작한다.
[또 다른 문제]
이렇게 문제를 해결하면 다른 문제가 발생한다.
bulid 진행 시 컴파일 에러가 발생한다.
이유는 아마도 라이브러리 중에 sdk 33 버전을 원하는 라이브러리가 있는 것 같다.
방법으로는 sdk 33 을 원하는 라이브러리의 버전을 낮춰주는 방법밖에 없는 것 같다.
아니면 컴파일 할 때마다 sdk 버전을 변경해주어야 한다..