【问题标题】:android app crashes when adding firebase ML vision dependencies with firebase database dependenciesandroid 应用程序在添加带有 firebase 数据库依赖项的 firebase ML 视觉依赖项时崩溃
【发布时间】:2018-06-26 20:47:14
【问题描述】:

我有一个使用 firebase 数据库、auth 和其他依赖项的项目,但是每当我尝试添加 firebase ml vision 或 google play service vision 依赖项时,尽管 gradle 构建成功,但应用程序崩溃了。

编辑:这就是 logcat 的样子

06-27 02:36:37.757 17719-17719/com.example.nikhiljindal.testing_start I/zygote:     at com.google.firebase.FirebaseApp com.google.firebase.FirebaseApp.initializeApp(android.content.Context) (SourceFile:281)
        at boolean com.google.firebase.provider.FirebaseInitProvider.onCreate() (SourceFile:37)
        at void android.content.ContentProvider.attachInfo(android.content.Context, android.content.pm.ProviderInfo, boolean) (ContentProvider.java:1917)
        at void android.content.ContentProvider.attachInfo(android.content.Context, android.content.pm.ProviderInfo) (ContentProvider.java:1892)
        at void com.google.firebase.provider.FirebaseInitProvider.attachInfo(android.content.Context, android.content.pm.ProviderInfo) (SourceFile:31)
06-27 02:36:37.758 17719-17719/com.example.nikhiljindal.testing_start I/zygote:     at android.app.ContentProviderHolder android.app.ActivityThread.installProvider(android.content.Context, android.app.ContentProviderHolder, android.content.pm.ProviderInfo, boolean, boolean, boolean) (ActivityThread.java:6239)
        at void android.app.ActivityThread.installContentProviders(android.content.Context, java.util.List) (ActivityThread.java:5805)
        at void android.app.ActivityThread.handleBindApplication(android.app.ActivityThread$AppBindData) (ActivityThread.java:5722)
        at void android.app.ActivityThread.-wrap1(android.app.ActivityThread, android.app.ActivityThread$AppBindData) (ActivityThread.java:-1)
        at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1656)
        at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106)
        at void android.os.Looper.loop() (Looper.java:164)
        at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6494)
        at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
        at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:438)
        at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:807)
    **Caused by: java.lang.ClassNotFoundException: Didn't find class** "com.google.android.gms.internal.zzfjm" on path: DexPathList[[zip file "/data/app/com.example.nikhiljindal.testing_start-qaVCC6CsVTDhpZWzHSJoXg==/base.apk", zip file "/data/app/com.example.nikhiljindal.testing_start-qaVCC6CsVTDhpZWzHSJoXg==/split_lib_dependencies_apk.apk", zip file "/data/app/com.example.nikhiljindal.testing_start-qaVCC6CsVTDhpZWzHSJoXg==/split_lib_resources_apk.apk", zip file "/data/app/com.example.nikhiljindal.testing_start-qaVCC6CsVTDhpZWzHSJoXg==/split_lib_slice_0_apk.apk", zip file "/data/app/com.example.nikhiljindal.testing_start-qaVCC6CsVTDhpZWzHSJoXg==/split_lib_slice_1_apk.apk", zip file "/data/app/com.example.nikhiljindal.testing_start-qaVCC6CsVTDhpZWzHSJoXg==/split_lib_slice_2_apk.apk", zip file "/data/app/com.example.nikhiljindal.testing_start-qaVCC6CsVTDhpZWzHSJoXg==/split_lib_slice_3_apk.apk", zip file "/data/app/com.example.nikhiljindal.testing_start-qaVCC6CsVTDhpZWzHSJoXg==/split_lib_slice_4_apk.apk", zip file "/d
        at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:125)
        at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
        at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
        at com.google.android.gms.internal.zzcim com.google.android.gms.internal.zzcim.zzdx(android.content.Context) ((null):-1)
        at com.google.android.gms.measurement.AppMeasurement com.google.android.gms.measurement.AppMeasurement.getInstance(android.content.Context) ((null):-1)
        at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
        at void com.google.firebase.FirebaseApp.zza(java.lang.Class, java.lang.Object, java.lang.Iterable, boolean) (SourceFile:739)
        at void com.google.firebase.FirebaseApp.zze() (SourceFile:709)
        at com.google.firebase.FirebaseApp com.google.firebase.FirebaseApp.initializeApp(android.content.Context, com.google.firebase.FirebaseOptions, java.lang.String) (SourceFile:328)
        at com.google.firebase.FirebaseApp com.google.firebase.FirebaseApp.initializeApp(android.content.Context, com.google.firebase.FirebaseOptions) (SourceFile:294)
        at com.google.firebase.FirebaseApp com.google.firebase.FirebaseApp.initializeApp(android.content.Context) (SourceFile:281)
        at boolean com.google.firebase.provider.FirebaseInitProvider.onCreate() (SourceFile:37)
        at void android.content.ContentProvider.attachInfo(android.content.Context, android.content.pm.ProviderInfo, boolean) (ContentProvider.java:1917)
06-27 02:36:37.759 17719-17719/com.example.nikhiljindal.testing_start I/zygote:     at void android.content.ContentProvider.attachInfo(android.content.Context, android.content.pm.ProviderInfo) (ContentProvider.java:1892)
        at void com.google.firebase.provider.FirebaseInitProvider.attachInfo(android.content.Context, android.content.pm.ProviderInfo) (SourceFile:31)
        at android.app.ContentProviderHolder android.app.ActivityThread.installProvider(android.content.Context, android.app.ContentProviderHolder, android.content.pm.ProviderInfo, boolean, boolean, boolean) (ActivityThread.java:6239)
        at void android.app.ActivityThread.installContentProviders(android.content.Context, java.util.List) (ActivityThread.java:5805)
        at void android.app.ActivityThread.handleBindApplication(android.app.ActivityThread$AppBindData) (ActivityThread.java:5722)
        at void android.app.ActivityThread.-wrap1(android.app.ActivityThread, android.app.ActivityThread$AppBindData) (ActivityThread.java:-1)
        at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1656)
        at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106)
        at void android.os.Looper.loop() (Looper.java:164)
        at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6494)
        at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
        at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:438)
        at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:807)
06-27 02:36:37.760 17719-17719/com.example.nikhiljindal.testing_start I/zygote: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.internal.zzcmb>: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/internal/zzfjm;
        at com.google.android.gms.internal.zzcim com.google.android.gms.internal.zzcim.zzdx(android.content.Context) ((null):-1)
        at com.google.android.gms.measurement.AppMeasurement com.google.android.gms.measurement.AppMeasurement.getInstance(android.content.Context) ((null):-1)
        at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
        at void com.google.firebase.FirebaseApp.zza(java.lang.Class, java.lang.Object, java.lang.Iterable, boolean) (SourceFile:739)
        at void com.google.firebase.FirebaseApp.zze() (SourceFile:709)
        at com.google.firebase.FirebaseApp com.google.firebase.FirebaseApp.initializeApp(android.content.Context, com.google.firebase.FirebaseOptions, java.lang.String) (SourceFile:328)
        at com.google.firebase.FirebaseApp com.google.firebase.FirebaseApp.initializeApp(android.content.Context, com.google.firebase.FirebaseOptions) (SourceFile:294)
        at com.google.firebase.FirebaseApp com.google.firebase.FirebaseApp.initializeApp(android.content.Context) (SourceFile:281)
        at boolean com.google.firebase.provider.FirebaseInitProvider.onCreate() (SourceFile:37)
        at void android.content.ContentProvider.attachInfo(android.content.Context, android.content.pm.ProviderInfo, boolean) (ContentProvider.java:1917)
        at void android.content.ContentProvider.attachInfo(android.content.Context, android.content.pm.ProviderInfo) (ContentProvider.java:1892)
        at void com.google.firebase.provider.FirebaseInitProvider.attachInfo(android.content.Context, android.content.pm.ProviderInfo) (SourceFile:31)
        at android.app.ContentProviderHolder android.app.ActivityThread.installProvider(android.content.Context, android.app.ContentProviderHolder, android.content.pm.ProviderInfo, boolean, boolean, boolean) (ActivityThread.java:6239)
        at void android.app.ActivityThread.installContentProviders(android.content.Context, java.util.List) (ActivityThread.java:5805)
        at void android.app.ActivityThread.handleBindApplication(android.app.ActivityThread$AppBindData) (ActivityThread.java:5722)
        at void android.app.ActivityThread.-wrap1(android.app.ActivityThread, android.app.ActivityThread$AppBindData) (ActivityThread.java:-1)
        at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1656)
        at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106)
        at void android.os.Looper.loop() (Looper.java:164)
        at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6494)
        at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
        at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:438)
        at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:807)
    Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.internal.zzfjm" on path: DexPathList[[zip file "/data/app/com.example.nikhiljindal.testing_start-qaVCC6CsVTDhpZWzHSJoXg==/base.apk", zip file "/data/app/com.example.nikhiljindal.testing_start-qaVCC6CsVTDhpZWzHSJoXg==/split_lib_dependencies_apk.apk", zip file "/data/app/com.example.nikhiljindal.testing_start-qaVCC6CsVTDhpZWzHSJoXg==/split_lib_resources_apk.apk", zip file "/data/app/com.example.nikhiljindal.testing_start-qaVCC6CsVTDhpZWzHSJoXg==/split_lib_slice_0_apk.apk", zip file "/data/app/com.example.nikhiljindal.testing_start-qaVCC6CsVTDhpZWzHSJoXg==/split_lib_slice_1_apk.apk", zip file "/data/app/com.example.nikhiljindal.testing_start-qaVCC6CsVTDhpZWzHSJoXg==/split_lib_slice_2_apk.apk", zip file "/data/app/com.example.nikhiljindal.testing_start-qaVCC6CsVTDhpZWzHSJoXg==/split_lib_slice_3_apk.apk", zip file "/data/app/com.example.nikhiljindal.testing_start-qaVCC6CsVTDhpZWzHSJoXg==/split_lib_slice_4_apk.apk", zip file "/d
06-27 02:36:37.761 17719-17719/com.example.nikhiljindal.testing_start I/zygote:     at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:125)
        at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
        at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
        at com.google.android.gms.internal.zzcim com.google.android.gms.internal.zzcim.zzdx(android.content.Context) ((null):-1)
        at com.google.android.gms.measurement.AppMeasurement com.google.android.gms.measurement.AppMeasurement.getInstance(android.content.Context) ((null):-1)
        at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
        at void com.google.firebase.FirebaseApp.zza(java.lang.Class, java.lang.Object, java.lang.Iterable, boolean) (SourceFile:739)
        at void com.google.firebase.FirebaseApp.zze() (SourceFile:709)
        at com.google.firebase.FirebaseApp com.google.firebase.FirebaseApp.initializeApp(android.content.Context, com.google.firebase.FirebaseOptions, java.lang.String) (SourceFile:328)
        at com.google.firebase.FirebaseApp com.google.firebase.FirebaseApp.initializeApp(android.content.Context, com.google.firebase.FirebaseOptions) (SourceFile:294)
        at com.google.firebase.FirebaseApp com.google.firebase.FirebaseApp.initializeApp(android.content.Context) (SourceFile:281)
        at boolean com.google.firebase.provider.FirebaseInitProvider.onCreate() (SourceFile:37)
        at void android.content.ContentProvider.attachInfo(android.content.Context, android.content.pm.ProviderInfo, boolean) (ContentProvider.java:1917)
        at void android.content.ContentProvider.attachInfo(android.content.Context, android.content.pm.ProviderInfo) (ContentProvider.java:1892)
        at void com.google.firebase.provider.FirebaseInitProvider.attachInfo(android.content.Context, android.content.pm.ProviderInfo) (SourceFile:31)
        at android.app.ContentProviderHolder android.app.ActivityThread.installProvider(android.content.Context, android.app.ContentProviderHolder, android.content.pm.ProviderInfo, boolean, boolean, boolean) (ActivityThread.java:6239)
        at void android.app.ActivityThread.installContentProviders(android.content.Context, java.util.List) (ActivityThread.java:5805)
        at void android.app.ActivityThread.handleBindApplication(android.app.ActivityThread$AppBindData) (ActivityThread.java:5722)
        at void android.app.ActivityThread.-wrap1(android.app.ActivityThread, android.app.ActivityThread$AppBindData) (ActivityThread.java:-1)
        at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1656)
        at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106)
        at void android.os.Looper.loop() (Looper.java:164)
        at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6494)
        at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
        at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:438)
        at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:807)
06-27 02:36:37.763 17719-17719/com.example.nikhiljindal.testing_start I/zygote: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.internal.zzcmc>: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/internal/zzfjm;
        at com.google.android.gms.internal.zzcim com.google.android.gms.internal.zzcim.zzdx(android.content.Context) ((null):-1)
        at com.google.android.gms.measurement.AppMeasurement com.google.android.gms.measurement.AppMeasurement.getInstance(android.content.Context) ((null):-1)
        at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
        at void com.google.firebase.FirebaseApp.zza(java.lang.Class, java.lang.Object, java.lang.Iterable, boolean) (SourceFile:739)
        at void com.google.firebase.FirebaseApp.zze() (SourceFile:709)
        at com.google.firebase.FirebaseApp com.google.firebase.FirebaseApp.initializeApp(android.content.Context, com.google.firebase.FirebaseOptions, java.lang.String) (SourceFile:328)
        at com.google.firebase.FirebaseApp com.google.firebase.FirebaseApp.initializeApp(android.content.Context, com.google.firebase.FirebaseOptions) (SourceFile:294)
        at com.google.firebase.FirebaseApp com.google.firebase.FirebaseApp.initializeApp(android.content.Context) (SourceFile:281)
        at boolean com.google.firebase.provider.FirebaseInitProvider.onCreate() (SourceFile:37)
        at void android.content.ContentProvider.attachInfo(android.content.Context, android.content.pm.ProviderInfo, boolean) (ContentProvider.java:1917)
        at void android.content.ContentProvider.attachInfo(android.content.Context, android.content.pm.ProviderInfo) (ContentProvider.java:1892)
        at void com.google.firebase.provider.FirebaseInitProvider.attachInfo(android.content.Context, android.content.pm.ProviderInfo) (SourceFile:31)

    read: unexpected EOF!

【问题讨论】:

  • 崩溃的错误/堆栈跟踪是什么样的?
  • 如果你的意思是 logcat 它仍然是空的,因为应用程序在启动之前崩溃了。另外请看一下我上传的 build.gradle 文件图像,我认为问题是由于依赖项之间的版本不匹配造成的。
  • 请不要将代码或错误消息作为图像发布,但请将它们包含在您的答案中。您是否尝试解决版本不匹配?您是否尝试过stackoverflow.com/questions/29568985/… 中描述的方法来获取日志记录?
  • 这就是 logcat 的帮助。现在也请看一下
  • 请正确格式化您的堆栈跟踪,然后尝试在 stackoverflow 上搜索错误。这看起来像是一个常见问题(鉴于我可以通过当前格式发现)

标签: android google-vision firebase-mlkit


【解决方案1】:

我发现您的项目中有 firebase,您应该使用基于 on this link 的最新版本,例如:

    implementation 'com.crashlytics.sdk.android:crashlytics:2.9.4'
    implementation 'com.google.firebase:firebase-core:16.0.1'
    implementation 'com.google.firebase:firebase-ads:15.0.1'
    implementation 'com.google.firebase:firebase-analytics:16.0.1'
    implementation 'com.google.firebase:firebase-appindexing:16.0.1'
    implementation 'com.google.firebase:firebase-auth:16.0.2'
    implementation 'com.google.firebase:firebase-firestore:17.0.2'
    implementation 'com.google.firebase:firebase-functions:16.0.1'
    implementation 'com.google.firebase:firebase-messaging:17.0.0'
    implementation 'com.google.firebase:firebase-storage:16.0.1'
    implementation 'com.google.firebase:firebase-crash:16.0.1'
    implementation 'com.google.firebase:firebase-invites:16.0.1'
    implementation 'com.google.firebase:firebase-perf:16.0.0'
    implementation 'com.google.firebase:firebase-database:16.0.1'
    implementation 'com.google.firebase:firebase-config:16.0.0'

选择你想要的,同时确保在你的应用程序 gradle 中也更新了谷歌服务:(check this link)

classpath 'com.android.tools.build:gradle:3.1.3'
classpath 'com.google.gms:google-services:4.0.1'

【讨论】:

    【解决方案2】:

    在清理和构建项目后,您的 firebase 依赖项必须具有相同的版本

    【讨论】:

      猜你喜欢
      • 2016-12-08
      • 1970-01-01
      • 1970-01-01
      • 2020-03-07
      • 2021-06-05
      • 2019-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多