Firebase Crashlytics SDK 배포 중에 발생한 Gradle 오류
5963 단어 안드로이드firebasecragradle
> Task :app:compileDebugKotlin FAILED
e: Supertypes of the following classes cannot be resolved. Please make sure you have the required dependencies in the classpath:
class com.google.android.gms.location.LocationResult, unresolved supertypes: com.google.android.gms.internal.zzbej
e: Supertypes of the following classes cannot be resolved. Please make sure you have the required dependencies in the classpath:
com.google.android.gms.location.LocationResult
클래스를 상속하는 com.google.android.gms.internal.zzbej
클래스를 찾을 수 없습니다.gradle 파일
build.gradle 파일
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
// 移行中のため古い環境です
//ext.kotlin_version = "1.4.0"
ext.kotlin_version = "1.3.10"
repositories {
google()
jcenter()
}
dependencies {
// 移行中のため古い環境です
//classpath "com.android.tools.build:gradle:4.0.1"
classpath "com.android.tools.build:gradle:3.5.0"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.4'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.3.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
app/build.gradle 파일
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
android {
compileSdkVersion 30
buildToolsVersion "30.0.2"
defaultConfig {
applicationId "com.example.gradleerrorsample"
minSdkVersion 28
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
firebaseCrashlytics {
mappingFileUploadEnabled false
}
}
}
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.3.1'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
implementation 'com.google.android.gms:play-services-location:11.6.2'
implementation 'com.google.firebase:firebase-crashlytics:17.2.2'
}
조사
(1)
android studio에서 LocationResult 클래스를 참조해 보았습니다.
확실히 zzbej 클래스를 찾을 수 없습니다.
(2)
빌드가 통과할 때까지 반환했습니다(implementation 'com.google.firebase:firebase-crashlytics:17.2.2'
주석 처리).
zzbej 클래스는, com.google.android.gms:play-services-basement:11.6.2
로 정의되고 있는 것 같습니다.
(3)
(2)의 주석 처리를 해제 한 후 gradle app:dependencies
를 실행하여 라이브러리 종속성을 출력했습니다.
262 - 271 행은 play-services-location
종속성입니다.play-services-basement
(예: 264행) 또는 playservices-tasks
(예: 268행)이 11.6.2에서 17.0.0으로 변경되었습니다.
272행부터는 com.google.firebase:firebase-crashlytics
종속성입니다.
다음 종속성이 있는 것 같습니다.
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
// 移行中のため古い環境です
//ext.kotlin_version = "1.4.0"
ext.kotlin_version = "1.3.10"
repositories {
google()
jcenter()
}
dependencies {
// 移行中のため古い環境です
//classpath "com.android.tools.build:gradle:4.0.1"
classpath "com.android.tools.build:gradle:3.5.0"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.4'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.3.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
android {
compileSdkVersion 30
buildToolsVersion "30.0.2"
defaultConfig {
applicationId "com.example.gradleerrorsample"
minSdkVersion 28
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
firebaseCrashlytics {
mappingFileUploadEnabled false
}
}
}
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.3.1'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
implementation 'com.google.android.gms:play-services-location:11.6.2'
implementation 'com.google.firebase:firebase-crashlytics:17.2.2'
}
(1)
android studio에서 LocationResult 클래스를 참조해 보았습니다.
확실히 zzbej 클래스를 찾을 수 없습니다.
(2)
빌드가 통과할 때까지 반환했습니다(
implementation 'com.google.firebase:firebase-crashlytics:17.2.2'
주석 처리).zzbej 클래스는,
com.google.android.gms:play-services-basement:11.6.2
로 정의되고 있는 것 같습니다.(3)
(2)의 주석 처리를 해제 한 후
gradle app:dependencies
를 실행하여 라이브러리 종속성을 출력했습니다.262 - 271 행은
play-services-location
종속성입니다.play-services-basement
(예: 264행) 또는 playservices-tasks
(예: 268행)이 11.6.2에서 17.0.0으로 변경되었습니다.272행부터는
com.google.firebase:firebase-crashlytics
종속성입니다.다음 종속성이 있는 것 같습니다.
play-services-tasks
의 17.0.0 play-services-basement
의 17.0.0 play-services-location
같은 이름의 라이브러리는 전이적인 종속성을 해결하여 새 버전을 사용합니다.대응
play-services-location
를 17.0.0으로 변경하면 빌드 자체가 가능합니다.
참고
조심하고자하는 Gradle의 전이 의존성과 그 해결
기타
(라이브러리 업데이트를 마무리합시다)
추가 1
Release Notes : June 17, 2009에는 파괴적인 변경 사항이 포함되어 있습니다. 이 릴리스 이후 및 이전 라이브러리는 공존 할 수 없습니까?
Firebase Crashlytics 17.0.0의 릴리스는 Release Notes : April 23,2020이므로 다른 google play services 라이브러리도 마이그레이션이 필요했습니다.
(11.6.2는 너무 오래되었지만)
Reference
이 문제에 관하여(Firebase Crashlytics SDK 배포 중에 발생한 Gradle 오류), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ykakizaki/items/28204bb9c01fa39e852a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
조심하고자하는 Gradle의 전이 의존성과 그 해결
기타
(라이브러리 업데이트를 마무리합시다)
추가 1
Release Notes : June 17, 2009에는 파괴적인 변경 사항이 포함되어 있습니다. 이 릴리스 이후 및 이전 라이브러리는 공존 할 수 없습니까?
Firebase Crashlytics 17.0.0의 릴리스는 Release Notes : April 23,2020이므로 다른 google play services 라이브러리도 마이그레이션이 필요했습니다.
(11.6.2는 너무 오래되었지만)
Reference
이 문제에 관하여(Firebase Crashlytics SDK 배포 중에 발생한 Gradle 오류), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ykakizaki/items/28204bb9c01fa39e852a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Firebase Crashlytics SDK 배포 중에 발생한 Gradle 오류), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ykakizaki/items/28204bb9c01fa39e852a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)