코틀린 앱 디버그 빌드 시 생기는 컴파일 에러
어떻게 해결할까?
안녕하세요, 앱개발지식나눔입니다.
오늘은 안드로이드 앱 제작 시 플러터, 코틀린에서 나오는 빌드 에러를 해결하는 방법을 알아보겠습니다.
제가 나왔던 에러는..
Launching lib/main.dart on SM G986N in debug mode...
Running Gradle task 'assembleDebug'...
e: /Users/abcde/defgh/frontend/ldkjs/android/app/src/main/kotlin/com/example/ldkjs/MainActivity.kt: (5, 7): Redeclaration: MainActivity
e: /Users/abcde/defgh/frontend/ldkjs/android/app/src/main/kotlin/kr/dif/ldkjs/MainActivity.kt: (5, 7): Redeclaration: MainActivity
FAILURE: Build completed with 2 failures.
1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':app:compileDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
> Compilation error. See log for more details
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
==============================================================================
2: Task failed with an exception.
-----------
* What went wrong:
java.lang.StackOverflowError (no error message)
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
==============================================================================
* Get more help at https://help.gradle.org
BUILD FAILED in 1m 12s
Exception: Gradle task assembleDebug failed with exit code 1
였습니다. 여기서 잘 보면 'Redeclaration: MainActivity'라는 문제가 있다고 말합니다. 이 말은 MainActivity가 중복 선언되어있다는 의미인데요.
android -> app -> src -> main -> kotlin 디렉토리로 이동합니다.
위 사진을 잘 보시면 'com/example/0000/MainActivity'와 'kr/0000/0000/MainActivity가 있는 것을 확인할 수 있습니다. 여기서 'com'에 해당하는 폴더를 삭제합니다.
위와 같은 폴더 구성을 이룬 후 빌드하면 성공적으로 앱이 실행됩니다.
이상 앱개발지식나눔이었습니다.