无法使用AndroidStudio4.2将Gradle与FirebaseCrashlytic2.6.0同步

项目级 build.gradle

buildscript {
    addRepos(repositories)
    dependencies {

        classpath 'com.google.gms:google-services:4.3.5'

        // Crashlytic
        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.6.0'

    }
}

应用级 build.gradle

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'

dependencies {

    // Crashlytic
    implementation 'com.google.firebase:firebase-crashlytics:18.0.0'

}

使用 gradle 4.3.5 和 Firebase crashlytic 2.6.0 我的应用程序停止编译并出现以下错误

class org.gradle.api.internal.file.DefaultFilePropertyFactory$DefaultDirectoryVar$2 cannot be cast to class org.gradle.api.file.Directory (org.gradle.api.internal.file.DefaultFilePropertyFactory$DefaultDirectoryVar$2 and org.gradle.api.file.Directory are in unnamed module of loader org.gradle.internal.classloader.VisitableURLClassLoader @68be2bc2)
class org.gradle.api.internal.file.DefaultFilePropertyFactory$DefaultDirectoryVar$2 cannot be cast to class org.gradle.api.file.Directory (org.gradle.api.internal.file.DefaultFilePropertyFactory$DefaultDirectoryVar$2 and org.gradle.api.file.Directory are in unnamed module of loader org.gradle.internal.classloader.VisitableURLClassLoader @68be2bc2)

Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)

Re-download dependencies and sync project (requires network)
The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.

Stop Gradle build processes (requires restart)
Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project.

In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.

但是如果我将 Firebase crashlytic 版本更改为 2.3.0 一切正常

你们知道为什么会这样吗?

回答

我遇到了完全相同的问题。似乎最新的 crashlytics-gradle 插件与某些东西不兼容。使用较低版本的 crashlytics-gradle 插件有所帮助。而不是firebase-crashlytics-gradle:2.6.0尝试使用此版本:

classpath 'com.google.firebase:firebase-crashlytics-gradle:2.4.1'

这对我有用......如果这对你不起作用,你可以尝试更低的版本。版本列表可以在这里找到:

https://firebase.google.com/support/release-notes/android#crashlytics_gradle_plugin_v2-0-0

当您搜索“Crashlytics Gradle 插件版本”时,您可以看到所有已发布的 Crashlytics Gradle 插件版本。

更新:

我还必须将应用级别 build.gradle 中的 compileOptions 更改为:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

当目标和源兼容性未设置为 1_8 时,项目已编译但在尝试运行应用程序时崩溃:

    --------- beginning of crash
2021-06-09 17:22:28.765 29519-29519/com.resmed.myair.cpl E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.resmed.myair.cpl, PID: 29519
    java.lang.BootstrapMethodError: Exception from call site #45 bootstrap method
        at com.google.firebase.components.ComponentDiscovery.discoverLazy(ComponentDiscovery.java:112)
        at com.google.firebase.FirebaseApp.<init>(FirebaseApp.java:418)
        at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:299)
        at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:267)
        at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:252)
        at com.google.firebase.provider.FirebaseInitProvider.onCreate(FirebaseInitProvider.java:51)
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1917)
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1892)
        at com.google.firebase.provider.FirebaseInitProvider.attachInfo(FirebaseInitProvider.java:45)
        at android.app.ActivityThread.installProvider(ActivityThread.java:6239)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:5805)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5722)
        at android.app.ActivityThread.-wrap1(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1656)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6494)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
     Caused by: java.lang.NoClassDefFoundError: Invalid descriptor: minimize.
        at com.google.firebase.components.ComponentDiscovery.discoverLazy(ComponentDiscovery.java:112) 
        at com.google.firebase.FirebaseApp.<init>(FirebaseApp.java:418) 
        at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:299) 
        at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:267) 
        at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:252) 
        at com.google.firebase.provider.FirebaseInitProvider.onCreate(FirebaseInitProvider.java:51) 
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1917) 
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1892) 
        at com.google.firebase.provider.FirebaseInitProvider.attachInfo(FirebaseInitProvider.java:45) 
        at android.app.ActivityThread.installProvider(ActivityThread.java:6239) 
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:5805) 
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5722) 
        at android.app.ActivityThread.-wrap1(Unknown Source:0) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1656) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:164) 
        at android.app.ActivityThread.main(ActivityThread.java:6494)


以上是无法使用AndroidStudio4.2将Gradle与FirebaseCrashlytic2.6.0同步的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>