如何修复ClassNotFoundException“ com.facebook.CustomTabActivity”

时间:2018-09-22 18:41:31

标签: android

目前,我遇到了一个错误,很难找到背后的原因。有人遇到过这样的问题吗?感谢在这方面的任何帮助。

我没有facebook库依赖项。尽管也许它是通过其他库作为Firebase Auth添加的?

build.gradle 文件中使用的所有库。

 implementation 'com.android.support.constraint:constraint-layout:1.1.3'
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})

implementation 'com.android.support:multidex:1.0.3'
implementation 'com.squareup.picasso:picasso:2.5.2'
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.android.support:cardview-v7:27.1.1'
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.android.support:support-v4:27.1.1'
implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'
testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-core:2.18.3'
androidTestCompile 'org.mockito:mockito-android:2.7.22'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

implementation 'com.firebaseui:firebase-ui-auth:4.2.0'

implementation 'com.google.firebase:firebase-core:16.0.3'
implementation 'com.google.firebase:firebase-storage:16.0.2'
implementation 'com.google.firebase:firebase-firestore:17.1.0'
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.5'

implementation "android.arch.persistence.room:runtime:1.1.1"
kapt "android.arch.persistence.room:compiler:1.1.1"

异常堆栈跟踪。

Caused by java.lang.ClassNotFoundException: Didn't find class "com.facebook.CustomTabActivity" on path: DexPathList[[zip file "/data/app/com.example.application-1/base.apk"],nativeLibraryDirectories=[/data/app/com.example.application-1/lib/x86, /vendor/lib, /system/lib]]
   at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:64)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
   at android.app.Instrumentation.newActivity(Instrumentation.java:1067)
   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2320)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2479)
   at android.app.ActivityThread.-wrap11(ActivityThread.java)
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1347)
   at android.os.Handler.dispatchMessage(Handler.java:102)
   at android.os.Looper.loop(Looper.java:148)
   at android.app.ActivityThread.main(ActivityThread.java:5420)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

1 个答案:

答案 0 :(得分:0)

  

由java.lang引起。 ClassNotFoundException :未找到类   路径上的“ com.facebook.CustomTabActivity”:DexPathList [[zip文件   “ /data/app/com.example.application-1/base.apk"],nativeLibraryDirectories=[/data/app/com.example.application-1/lib/x86,   / vendor / lib,/ system / lib]]   dalvik.system。 BaseDexClassLoader .findClass(BaseDexClassLoader.java:64)

我怀疑要使用multidex,您已经添加了依赖关系,并且我认为它已启用。

解决方案::禁用或删除:

implementation 'com.android.support:multidex:1.0.3'

可能会有所帮助,因为听起来好像错误来自Multidex。但是,这很奇怪,因为CustomTabActivity似乎来自Facebook SDK,并且您没有Facebook依赖项也没有使用它。