플러터 app_plugin_loader Gradle plugin 문제 해결하기
안드로이드용 앱을 빌드하던 중, 에러 메시지가 뜨면서 당황했다. 에러 내용은 이랬다:
You are applying Flutter's app_plugin_loader Gradle plugin imperatively using the apply script method, which is deprecated and will be removed in a future release. Migrate to applying Gradle plugins with the declarative plugins block: https://flutter.dev/go/flutter-gradle-plugin-apply
간단히 말해, 내가 사용 중인 명령어 방식(apply script)이 곧 더 이상 지원되지 않으니, 선언적 플러그인 블록(plugins {}) 방식으로 변경하라는 내용이었다. 이걸 해결하려면 Flutter 공식 문서에 나와 있는 방법대로 코드를 수정하면 된다고 했다. 바로 수정할 수 있을 거라고 생각하며, 이 링크의 내용을 참고했다.
그런데 여기서 한 가지 팁을 알게 되었다. 좀 더 간단한 방법이 있었다. 바로 build.gradle 파일과 settings.gradle 파일을 삭제하고, 프로젝트 위치에서 아래 명령어를 실행하는 방법이었다.
flutter create .
이 명령어를 실행하면, 플러터가 기존 코드와 설정을 유지한 채 필요한 파일만 새로 생성해준다. 이 방법을 시도했지만, 아쉽게도 내 경우엔 문제가 해결되지 않았다. 새로운 방식으로 플러그인을 불러올 수 없다는 에러가 계속 발생했다.
이 문제는 버전 불일치로 인해 발생한 것 같았다. 그래서 나는 다시 처음부터 문제를 해결해야 했다. 해결을 위한 내가 진행한 작업들은 이렇다:
1. Flutter 업그레이드 (주의! 기존 코드에 영향을 줄 수 있음)
2. Xcode command line tools 설치
6. 플러터 새 앱 만들기 (확인하기)
이 과정에서 특히 어려웠던 점은 버전 맞추기였다. 새 버전의 Gradle이 필요했고, 그에 맞는 Java 버전도 필요했다. 내 경우에는 OpenJDK 11에서 17로 업그레이드해야 했다.
그런데 Java 17을 설치하려면 Xcode 명령어 라인 도구와 Python 3.13도 필요했다.
게다가 변경된 설정을 에뮬레이터에서 실행하려면 새 버전의 SDK가 있어야 했다.
이 모든 과정을 거치면서 느낀 점은, 버전 불일치가 정말 큰 문제라는 것이다. 여러 툴과 환경을 맞추는 것이 가장 까다로웠다.
그래도 결국 문제가 해결되었고, 앱을 정상적으로 빌드할 수 있게 되었다.