본문 바로가기

Android

맥북 M1 이슈) ANTER Tool version 4.5.3 used for code generation does not match the current runtime version 4.7.1

반응형

작업용 컴퓨터를 맥북 M1 칩으로 변경하였더니 빌드가 안 됩니다.

ANTLR Tool version 4.5.3 used for code generation does not match the current runtime version 4.7.1
ANTLR Runtime version 4.5.3 used for parser compilation does not match the current runtime version 4.7.1
ANTLR Tool version 4.5.3 used for code generation does not match the current runtime version 4.7.1
ANTLR Runtime version 4.5.3 used for parser compilation does not match the current runtime version 4.7.1
line 1:45 token recognition error at: '"'
line 1:131 token recognition error at: '" '

Execution failed for task ':app:kaptGeneralDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction
   > java.lang.reflect.InvocationTargetException (no error message)

해당 이슈는 Room/sqlite 관련 이슈로, Room 라이브러리 버전을 2.4.0-alpha03 이상으로 올려 해결할 수 있습니다.
Room 버전 2.4.0-alpha03 버그 수정

하지만 Room 버전을 올리게 되면 compileSDK 버전을 31로 올려야 하고, compileSDK를 올리면 관련 변경사항을 대응하여야 하고, 예상치 못한 오류가 발생할 수 있기 때문에... 다른 방법을 찾았습니다.

[Apple Silicon] Cannot connect to SQLite datasource on M1

app/build.gradledependencies로 다음을 추가합니다.

kapt "org.xerial:sqlite-jdbc:3.34.0"

위 해결 방식은 Room 내부에서만 사용하는 라이브러리를 프로젝트 단위로 끌어올리는 방식으로, 의존성 관리가 힘들어지니 어디까지나 임시 방편입니다.
시간이 지나 compileSDK를 31로 올리게 된다면 Room 버전을 올리는 게 맞다고 생각이 드네요.

반응형