【问题标题】:Android app works while used as debugging,but crashes if testing version "app-debug" is installedAndroid 应用程序在用作调试时工作,但如果安装了测试版本“app-debug”,则会崩溃
【发布时间】:2017-06-02 10:19:17
【问题描述】:

请评论为什么它被否决以及我应该添加什么 这是logcat的输出

06-02 15:21:04.520 7986-7986/? E/AndroidRuntime: FATAL EXCEPTION: main
                                             Process: com.example.mayurn.engineeringhelper, PID: 7986
                                             java.lang.NoSuchMethodError: No static method zzcx(Landroid/content/Context;)Lcom/google/android/gms/internal/zzbth; in class Lcom/google/android/gms/internal/zzbth; or its super classes (declaration of 'com.google.android.gms.internal.zzbth' appears in /data/app/com.example.mayurn.engineeringhelper-2/base.apk:classes12.dex)
                                                 at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
                                                 at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
                                                 at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
                                                 at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source)
                                                 at android.content.ContentProvider.attachInfo(ContentProvider.java:1748)
                                                 at android.content.ContentProvider.attachInfo(ContentProvider.java:1723)
                                                 at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
                                                 at android.app.ActivityThread.installProvider(ActivityThread.java:5187)
                                                 at android.app.ActivityThread.installContentProviders(ActivityThread.java:4782)
                                                 at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4722)
                                                 at android.app.ActivityThread.access$1600(ActivityThread.java:153)
                                                 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1408)
                                                 at android.os.Handler.dispatchMessage(Handler.java:102)
                                                 at android.os.Looper.loop(Looper.java:148)
                                                 at android.app.ActivityThread.main(ActivityThread.java:5451)
                                                 at java.lang.reflect.Method.invoke(Native Method)
                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

在我的 Build.gradle (Module:app) 中有

compile 'com.android.support:appcompat-v7:25.3.0'
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha8'
compile 'com.android.support:recyclerview-v7:25.3.0'
compile 'com.android.support:cardview-v7:25.3.0'
compile 'com.android.support:design:25.3.0'
compile 'com.google.firebase:firebase-storage:10.0.1'
compile 'com.google.firebase:firebase-auth:10.0.1'
compile 'com.google.firebase:firebase-database:10.0.1'
compile 'com.firebase:firebase-client-android:2.4.0'
compile 'com.firebaseui:firebase-ui-storage:1.2.0'
compile 'com.firebaseui:firebase-ui-database:1.2.0'
compile 'com.android.support:multidex:1.0.1'
testCompile 'junit:junit:4.12'
}

apply plugin: 'com.google.gms.google-services'

在 build.gradle(Project) 我有这个

buildscript {
repositories {
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:2.3.2'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
    classpath 'com.google.gms:google-services:3.0.0'
}
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

我看过这些答案

  1. Firebase database dependency crashes app
  2. After upgrading to google play services 8.4.0 my app crashes on startup
  3. No static method zzUr() in Firebase when I try to use Analytics with Notifications

他们都建议使用相同版本的 firebase 服务。 你可以看到我已经这样做了,只是ui-databaseui-storage的版本不同。

另外简短说明:-MultiDex 已启用,而 minify 已禁用。

【问题讨论】:

  • 库 ui-xxx 来自“com.firebaseui”组,因此它们的版本可能与来自“com.google.firebase”的不同。
  • 那我该怎么办
  • 尝试使用最新版本的 firebase 10.2.6。
  • 仅用于存储、身份验证、数据库或所有包括 ui 库?
  • 组为“com.google.firebase”的使用10.2.6,组为“com.firebaseui”的使用1.2.0。 group 是依赖项中冒号 (:) 之前的 url。

标签: android android-studio firebase google-play-services


【解决方案1】:

您的依赖项中的问题是您的 firebaseui 库与 firebase 库不兼容。

检查Compatibility with Firebase / Google Play Services Libraries

您需要 1.2.0 版本的 firebaseui,因此您必须将 firebase 库更新到 10.2.0+.

【讨论】:

    【解决方案2】:

    在你的 build.gradle 你需要添加所有的依赖 -

    dependencies {
        // FirebaseUI Database only
        compile 'com.firebaseui:firebase-ui-database:1.2.0'
    
        // FirebaseUI Auth onl
        compile 'com.firebaseui:firebase-ui-auth:1.2.0'
    
        // FirebaseUI Storage only
        compile 'com.firebaseui:firebase-ui-storage:1.2.0'
    
        // Single target that includes all FirebaseUI libraries above
        compile 'com.firebaseui:firebase-ui:1.2.0'
     }
    

    如果这不能解决您的错误,那么您可能还需要添加这些文件

      compile "com.android.support:design:23.2.1"
      compile "com.android.support:customtabs:23.2.1"
      compile "com.android.support:cardview-v7:23.2.1"
    

    我希望在完成所有这些之后,您的问题应该早就消失了。 顺便说一句,有关这方面的更多信息,您可以查看 Firebase 的 Git 存储库 - https://github.com/firebase/FirebaseUI-Android#installation 实际上这包含所有详细信息。

    【讨论】:

      猜你喜欢
      • 2014-12-09
      • 1970-01-01
      • 2017-01-04
      • 1970-01-01
      • 2015-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-08
      相关资源
      最近更新 更多