AbstractDynamicObject$CustomMessageMissingMethodException 오류가 발생하는 이유는 무엇입니까?
방금 새 프로젝트를 시작하여 Firebase에 연결하려고 합니다.
프로젝트를 구축하려고 하자마자 다음 오류가 발생했습니다.
Android 응용 프로그램 모듈의 Gradle 구성을 구문 분석할 수 없습니다.
그래서 저는 제 빌드에서 jCenter()가 더 이상 사용되지 않으며 제거해야 한다고 말했습니다.제가 그것을 제거했을 때, 모든 것이 정상적으로 작동했습니다.그러나 Firebase에 연결하려고 할 때 다음 오류가 발생했습니다.
AbstractDynamicObject$사용자 지정 메시지 누락 메서드 예외입니다.
무엇이 원인일 수 있습니까?
전체 스택 추적:
Caused by: java.lang.RuntimeException: com.android.build.gradle.internal.crash.ExternalApiUsageException: org.gradle.internal.metaobject.AbstractDynamicObject$CustomMessageMissingMethodException: Could not find method setVariantDir() for arguments [debug] on task ':app:processDebugGoogleServices' of type com.google.gms.googleservices.GoogleServicesTask.
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:71)
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:54)
at com.android.build.gradle.internal.profile.AnalyticsResourceManager.recordBlockAtConfiguration(AnalyticsResourceManager.kt:206)
at com.android.build.gradle.internal.profile.AnalyticsConfiguratorService.recordBlock(AnalyticsConfiguratorService.kt:85)
at com.android.build.gradle.internal.plugins.BasePlugin.lambda$createTasks$9(BasePlugin.java:582)
at com.android.build.gradle.internal.crash.CrashReporting$afterEvaluate$1.execute(crash_reporting.kt:37)
at com.android.build.gradle.internal.crash.CrashReporting$afterEvaluate$1.execute(crash_reporting.kt)
저는 같은 오류가 발생하고 있어서 여기에 왔습니다.다행히도 종속성을 업데이트하고 있을 때 다음과 같이 범위를 좁혔습니다.
classpath 'com.google.gms:google-services:4.3.6'
로 변경
classpath 'com.google.gms:google-services:4.3.5'
저는 그 오류가 사라집니다.당신도 그러길 바랍니다.
여기 내 의존성에 대한 더 많은 정보가 있습니다.
Android Studio 4.2 빌드 실행 2021년 4월 28일
repositories {
google()
mavenCentral()
maven { url 'https://plugins.gradle.org/m2/'}
}
dependencies {
classpath 'com.android.tools.build:gradle:4.2.0'
classpath 'com.google.gms:google-services:4.3.5'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.6.0'
classpath 'com.google.firebase:perf-plugin:1.4.0'
Gradle 플러그인 4.2.0 Gradle 7.0.1
//Firebase
implementation 'com.google.firebase:firebase-ads:20.1.0'
implementation 'com.google.firebase:firebase-core:19.0.0'
implementation 'com.google.firebase:firebase-crash:16.2.1'
implementation 'com.google.firebase:firebase-messaging:22.0.0'
implementation 'com.firebase:firebase-jobdispatcher:0.8.5'
implementation 'com.google.firebase:firebase-auth:21.0.0'
implementation 'com.google.firebase:firebase-firestore:23.0.0'
업데이트: Google이 버전에서 문제를 해결했습니다.4.3.8
(릴리스 정보)
이제 Android용 Google 서비스 플러그인(v4.3.8)의 업데이트 버전을 사용할 수 있습니다.자세한 내용은 Firebase Android SDK 파일 정보를 참조하십시오.
클래스 경로에서 오류가 발생했습니다.
가장 쉬운 해결책:
버전으로 돌아가기4.3.5
dependencies {
classpath 'com.google.gms:google-services:4.3.5'
}
대신에4.3.6
dependencies {
classpath 'com.google.gms:google-services:4.3.6'
}
사실, 버전
4.3.6
이 오류의 원인은 에 있습니다.가장 쉬운 방법은 수정될 때까지 이전 버전으로 돌아가는 것입니다.
원인: java.lang.런타임 예외: com.android.몸을 굽히다내부의ExternalApiUsageException: org.gradle입니다.internal.message 개체입니다.AbstractDynamicObject$사용자 지정 메시지 누락 메서드 예외:메서드 집합 VariantDir()를 찾을 수 없습니다.
버그 수정
당신은 가능한 최신 버전을 사용해야 합니다.
도
dependencies {
classpath 'com.google.gms:google-services:4.3.8'
}
RRiven fix 외에도 ID가 'maven'인 Plugin을 RRiven fix 후에 찾을 수 없다는 오류가 발생하기 시작했습니다.
gradle 버전을 file -> project structure -> project -> gradle version에서 6.9로 다운그레이드하여 수정하였습니다.
build.gradle(프로젝트)에 코드 설정
classpath 'com.android.tools.build:gradle:4.2.0'
classpath 'com.google.gms:google-services:4.3.5'
그라들 래퍼에 선 설정
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip
최선의 방법.구글이 해결했습니다.
classpath 'com.google.gms:google-services:4.3.8'
4.3.8의 최신 버전으로 이동합니다.
https://developers.google.com/android/guides/releases https://firebase.google.com/support/release-notes/android#google-services_plugin_v4-3-8
Kotlin에서 Gradle 버전 7.3.3
1-build.gradle(프로젝트)
buildscript {
dependencies {
classpath 'com.google.gms:google-services:4.3.10'
}
}// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
id 'com.android.application' version '7.2.1' apply false
id 'com.android.library' version '7.2.1' apply false
id 'org.jetbrains.kotlin.android' version '1.6.21' apply false
}
task clean(type: Delete) {
delete rootProject.buildDir
}
2-build.gradle(모듈)
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'kotlin-parcelize'
id 'com.google.gms.google-services'
}
언급URL : https://stackoverflow.com/questions/67496084/why-am-i-getting-abstractdynamicobjectcustommessagemissingmethodexception-error
'programing' 카테고리의 다른 글
캐시되지 않은 Gitstash: 단계별 변경 사항을 모두 정리하는 방법은 무엇입니까? (0) | 2023.07.17 |
---|---|
git 저장소에서 .pyc 파일 무시 (0) | 2023.07.17 |
1D Numpy 배열에서 Numpy를 사용하여 로컬 최대값/minima 찾기 (0) | 2023.07.17 |
importos.path를 사용해야 합니까, importos를 사용해야 합니까? (0) | 2023.07.17 |
MongoDB 시작 실패 - ***fassert() 실패 후 중단 (0) | 2023.07.17 |