Flutter

[Error] android:attr/lStar not found

졸려질려 2024. 11. 6. 20:19
반응형

플러터로 안드로이드 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

반응형