반응형
프레그먼트 이동 및 데이터 전달을 하기 위해 navigation safe arg 라이브러리를 사용하면서 에러가 발생하였다.
발생 오류
Class 'ActionGlobalNavigationPost' is not abstract and does not implement abstract member public abstract fun getActionId(): Int defined in androidx.navigation.NavDirections
'actionId' overrides nothing
'arguments' overrides nothing
앱 실행결과로 위와 같은 에러 메시지가 출력되며 앱이 실행이 되지 않았다.
문제 원인
프로젝트 수준의 build.gradle과 앱/모듈 수준의 build.gradle에서 다른 버전을 사용하여 발생한 문제였다.
아래 코드에서 프로젝트 수준에서는 2.4.0을, 앱/모듈 수준에서는 2.3.5를 사용하였다.
build.gradle(프로젝트)
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath "com.android.tools.build:gradle:7.0.4"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10"
classpath 'androidx.navigation:navigation-safe-args-gradle-plugin:2.4.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
build.gradle(앱/모듈)
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-kapt'
id 'androidx.navigation.safeargs.kotlin'
}
dependencies {
//프레그먼트 이동시 데이터
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5'
implementation 'androidx.navigation:navigation-ui-ktx:2.3.5'
}
해결 방안
앱/모듈 수준의 build.gradle의 코드를 2.4.0으로 변경하니 정상적으로 앱이 실행되었다.
implementation 'androidx.navigation:navigation-fragment-ktx:2.4.0'
implementation 'androidx.navigation:navigation-ui-ktx:2.4.0'
참고 사이트
'안드로이드 > 오류, 삽질 및 해결방법' 카테고리의 다른 글
[Android] 안드로이드 스튜디오 2021.2.1 버전 chipmunk firebase realtime-database gradle 설정 (2) | 2022.07.24 |
---|---|
[Android/Kotlin] Live Data 테스트 오류 (Method getMainLooper in android.os.Looper not mocked.) (0) | 2022.04.14 |
[Android/Kotlin] Koin 라이브러리 설정 문제 (0) | 2022.04.08 |
[Android/Kotlin/해결 ...?] 리사이클러뷰 mvvm 적용 관련 삽질 (0) | 2022.01.11 |
[안드로이드] MPAndroidChart 라이브러리 gradle 설정 에러 (0) | 2022.01.09 |