작년에 했던 프로젝트 서버가 닫혀서 파이어베이스로 서버를 갈음해보려고 간만에 프로젝트를 열었다.
그런데 빌드도 안되고 에러가 발생했다.
관련 링크를 제공해주길래 들어가봤다.
https://docs.flutter.dev/release/breaking-changes/flutter-gradle-plugin-apply
플러터 그레이들 플러그인이 devricated 되었다고 함.
하라는대로 하면 된다.
그래도 정리를 좀 해보자면...
싹 지우고 아래 코드를 복붙한다.
그리고 plugins에서 'agpVersion', 'kotlinVersion'을 내 프로젝트에서 쓰던 버전으로 붙여넣는다.
pluginManagement {
def flutterSdkPath = {
def properties = new Properties()
file("local.properties").withInputStream { properties.load(it) }
def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
return flutterSdkPath
}
settings.ext.flutterSdkPath = flutterSdkPath()
includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle")
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "{agpVersion}" apply false
id "org.jetbrains.kotlin.android" version "{kotlinVersion}" apply false
}
include ":app"
본문을 더 읽어보면
여기서 코틀린 버전과 agp 버전을 찾을 수 있었다.
-buildscript {
- ext.kotlin_version = '{kotlinVersion}'
- repositories {
- google()
- mavenCentral()
- }
-
- dependencies {
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
- }
-}
플러터 문서에서는 위 코드와 같이 나와있지만 필자는 dependencies에 agp classpath도 함께 있었다.
classpath 'com.android.tools.build:gradle:7.3.0'
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "7.3.0" apply false
id "org.jetbrains.kotlin.android" version "1.7.10" apply false
}
이부분은 필자의 코드와는 많이 달랐다. 어떤 코드는 삭제하고 어떤 코드는 추가하라는데 이미 있는 코드였음. 삭제하라는 코드도 없었다.
이제 flutter run 해서 확인해본다.
Do you want to continue with adding multidex support for Android?
이렇게 나와서 y 해주었다. 그랬더니 gradle 빌드를 다시 하면서 앱이 실행된다.