반응형
플러터로 안드로이드 APK를 빌드하던 중에 다음과 같은 에러가 나타났다.
빌드한 Flutter의 버전은 3.24.3이었는데, 이전까지 APK 빌드할 때 나타나지 않았던 오류가 갑자기 나타났다. (원인은 정말 모르겠다...)
해당 에러에 대한 해결 방법을 구글링 해보았고, 다음과 같은 방법으로 해결할 수 있었다.
1. android/build.gradle
android/build.gradle
파일을 열어보면 다음과 같이 구성되어 있다. (이 부분은 사람마다 다르게 구성되어 있을 수도...?)
allprojects {
repositories {
google()
mavenCentral()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
tasks.register("clean", Delete) {
delete rootProject.buildDir
}
2. 다음 코드를 android/build.gradle 에 삽입
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
afterEvaluate { project ->
if (project.plugins.hasPlugin("com.android.application") ||
project.plugins.hasPlugin("com.android.library")) {
project.android {
compileSdkVersion 34
buildToolsVersion "34.0.0"
}
}
}
}
subprojects 문단이 3개가 되면 이에 대한 에러가 나타나기도 한다. 다음과 같이 완성해주면 본 에러가 해결된다.
3. 변경된 모습
allprojects {
repositories {
google()
mavenCentral()
}
}
rootProject.buildDir = '../build'
subprojects {
afterEvaluate { project ->
if (project.plugins.hasPlugin("com.android.application") ||
project.plugins.hasPlugin("com.android.library")) {
project.android {
compileSdkVersion 34
buildToolsVersion "34.0.0"
}
}
}
}
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
project.evaluationDependsOn(':app')
}
tasks.register("clean", Delete) {
delete rootProject.buildDir
}
참고자료
https://github.com/flutter/flutter/issues/153281#issuecomment-2287902896
https://github.com/livekit/client-sdk-flutter/issues/569#issuecomment-2275686786
반응형