Notice
Recent Posts
Recent Comments
Link
반응형
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
Today
Total
관리 메뉴

coding etude

[flutter android] Unresolved reference 'embedding'. 본문

Flutter(Dart)

[flutter android] Unresolved reference 'embedding'.

코코리니 2025. 8. 22. 12:18
반응형

상황

 - Android Studio를 업데이트

 - gradle, AGP를 업데이트

 - gradle migrate를 진행 

 

증상 

Unresolved reference 'embedding'.

Unresolved reference 'FlutterActivity'.

Gradle task assembleDebug failed with exit code 1

 - android/app/src/main/kotlin 의 Androidmanifast.xml 파일이 인식 되지 않는 증상.

 

원인 분석

 1. kotlin , AGP, gradle 의 호환성 문제. 

예전에는 버전의 호환성 문제로 빌드오류가 발생했을 때 증상과 동일한 에러가 발생한것 같다.

하지만, 테스트 결과 버전에 문제가 있다면 어떤 플러그인의 버전이 문제가 있다고 정확한 에러가 발생한다.

버전문제는 아님.

 

2. IDE(android studio) 자체적 오류.

IDE의 일시적인 오류로 인해서 android 프로젝트를 인식 못하는 경우 발생한다고 하며, 

이것 역시 예전에는 새로운 창으로 android 프로젝트를 열거나 sync gradle 등의 기능을 이용해서 

오류를 해결했다고 한다.

하지만, 현재 IDE 버전이 업데이트 되면서 gradle의 sync는 IDE 시작시 자동으로 진행하도록 변경되서 임의적인 sync 를 진행 할 수 없는듯 하다.

추가 적으로 IDE의 cache를 모두 삭제하고, IDE 삭제 후 재설치 까지 진행 했지만, 해결 안됨.

IDE 문제는 아님.

 

3. pagkage 문제

간혹 서비스 중단되거나 flutter의 버전과 호환 되지 않는 package의 경우 빌드 시 발생 할 수 있다고 하고,

몇몇 유져의 경우 package 삭제 시 정상 작동 한다는 내용도 있었다.

그래서 현재 사용 중이 package를 모두 최신 버전으로 업그레이드 진행하고, 사용하지 않는 package는 모두 제거.

하지만 동일한 증상이 발생했고, 어떤 Package에서 발생하는지 알 수 없는 상태에서 하나씩 삭제하고 테스트 하기에서는 

일이 너무 커지기 때문에 package의 문제는 가장 마지막에 진행 해보기로 함.(하나씩 삭제하고 빌드하기.. 오류를 찾기위해서 집을 부셔야 하는 경우가 발생.....ㅎㄱㄱ)

 

4. migrate 

flutter 3.16 버전 이전에는 flutter를 android로 빌드하기위해 사용했던 gredle를 설정하기 위해, build.gradle에 classPath로 선언 하여 사용했다.

하지만 이 방식이 많은 오류를 발생기켜서 3.16 이후로 migrate를 권장하고 있다. (빌드 시 경고가 뜬다.)

기존의 build.gradle에 있던 플러그인 등록을 gradle.setting로 이동 해주어야 한다. 

https://docs.flutter.dev/release/breaking-changes/flutter-gradle-plugin-apply

 

Deprecated imperative apply of Flutter's Gradle plugins

How to migrate your Flutter app's Android Gradle build files to the new, declarative format.

docs.flutter.dev

공식 홈페이지의 예시를 보면 알 수 있다.

여기서 내 소스코드와 바교 했을때,  id "dev.flutter.flutter-plugin-loader" version "1.0.0"
이 소스 한중이 빠져 있던걸 발견....ㅎㄷㄷ;;;

당연히 추가 하자마자 해결...ㅠㅠ

저 loader는 gradle을 android에서 인식할 수 있게 컴파일 해주는 역할 인데.. 

manifast.xml에서 flutter의 컴파일 내용을 참조해야 하는데, 그 내용이 없으니 당연히 빌드가 안되는 것...

 

 

정리

예전에는 여러 다양한 문제에서 동일한 에러가 발생 했지만, 현재는 각 오류별로 log가 구별되서 나온다는 것.

그리고 소스코드를 더 자세히 살펴 보자는것... migrate 실수 한번으로 10일이 날아가 버렸다...

 

끝...

반응형