본문 바로가기
Mobile Develop/Flutter

Flutter NDK 버전 오류 해결하기

by nyangzzi 2025. 5. 14.

 

#문제 상황

 

Flutter로 개발 중에 firebase 연결하니까 갑자기 아래와 같은 오류 발생~!

Your project is configured with Android NDK 26.3.11579264, but the following plugin(s) depend on a different Android NDK version:
- cloud_firestore requires Android NDK 27.0.12077973
- firebase_core requires Android NDK 27.0.12077973
- firebase_storage requires Android NDK 27.0.12077973
Fix this issue by using the highest Android NDK version (they are backward compatible).
Add the following to /Users/nyangzzi/test/linkorder/android/app/build.gradle.kts:

    android {
        ndkVersion = "27.0.12077973"
        ...
    }

 

디버그가 되긴 하는데 어떤 문제를 일으킬지 모르니 일단 수정하고 넘어가좌

 

Android NDK 버전이 현재 26.3.11579264 인데, 현재 pub get한 파이어베이스와 호환되는 버전은 27.0.12077973이라는 뜻

 

#해결 방법

 

1. 상단 Tools > SDK Manager 선택하면 아래와 같은 창이 나온다

SDK Tools > 하단 Show Package Details 체크 > NDK (Side by side) > 필요한 버전 선택 > Apply

 

그럼 이렇게 설치 된다!

 

2. /android/local.properties 파일을 찾아서 ndk.dir의 버전을 변경한다

ndk.dir=/Users/[username]/Library/Android/sdk/ndk/[변경한 버전]

//윈도우의 경우
ndk.dir=C:\\Users\\[username]\\AppData\\Local\\Android\\Sdk\\ndk\\변경한 버전]

 

실제 파일 주소를 넣으면 되고, 파일이 없다면 직접 만들어도 된다

나의 경우에는 ndk.dir 이 설정되어있지 않아서 한 줄 추가 했다~

 

이렇게 넣으면 되야하는 게 맞음!

하지만.. 인생은 쉽지 않지 ㅎ

 

빌드했더니 아래와 같은 문제가 발생했다

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/nyangzzi/test/linkorder/android/build.gradle.kts' line: 16

* What went wrong:
A problem occurred configuring project ':app'.
> com.android.builder.errors.EvalIssueException: [CXX1104] NDK from ndk.dir at /Users/nyangzzi/Library/Android/sdk/ndk/27.0.12077973 had version [27.0.12077973] which disagrees with android.ndkVersion [26.3.11579264]

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

BUILD FAILED in 2s
Error: Gradle task assembleDebug failed with exit code 1

 

ndk.dir에서 불러오려고 하는 버전과 flutter 내부에서 정의된 ndk의 버전이 달라서 생기는 문제다

 

이럴 땐 캐시가 이전 버전을 잡고 있을 확률이 있으니 초기화 시켜주면 된다

$ flutter clean
$ flutter pub get

 

 

 

 

하는 김에 File > Invalidate Caches도 삭제해줬다

'Mobile Develop > Flutter' 카테고리의 다른 글

[Flutter] BottomNavigationBar Icon 대신 Text Label만 보여주기  (0) 2024.01.19
[Flutter] Align 위젯  (0) 2022.03.18
[Flutter] Padding 위젯  (0) 2022.03.18
[Flutter] Center 위젯  (0) 2022.03.18
[Flutter] GridView 위젯  (0) 2022.03.17

댓글