无法获取提供者com.google.firebase.provider.FirebaseInitProvider:java.lang.ClassNotFoundException

时间:2017-05-28 19:03:41

标签: java android

将我的项目移动到另一台计算机后,当尝试运行代码(完全相同的工作代码来自第一台计算机)时,应用程序崩溃。

这是控制台中的错误:

05-28 21:33:35.502 5021-5021/com.dean.booktown E/AndroidRuntime: FATAL EXCEPTION: main
                                                             Process: com.dean.booktown, PID: 5021
                                                             java.lang.RuntimeException: Unable to get provider com.google.firebase.provider.FirebaseInitProvider: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.provider.FirebaseInitProvider" on path: DexPathList[[zip file "/data/app/com.dean.booktown-1/base.apk", zip file "/data/app/com.dean.booktown-1/split_lib_slice_3_apk.apk", zip file "/data/app/com.dean.booktown-1/split_lib_slice_4_apk.apk"],nativeLibraryDirectories=[/data/app/com.dean.booktown-1/lib/arm64, /vendor/lib64, /system/lib64]]
                                                                 at android.app.ActivityThread.installProvider(ActivityThread.java:5244)
                                                                 at android.app.ActivityThread.installContentProviders(ActivityThread.java:4836)
                                                                 at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4776)
                                                                 at android.app.ActivityThread.access$1600(ActivityThread.java:157)
                                                                 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1417)
                                                                 at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                 at android.os.Looper.loop(Looper.java:148)
                                                                 at android.app.ActivityThread.main(ActivityThread.java:5525)
                                                                 at java.lang.reflect.Method.invoke(Native Method)
                                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730)
                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
                                                              Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.provider.FirebaseInitProvider" on path: DexPathList[[zip file "/data/app/com.dean.booktown-1/base.apk", zip file "/data/app/com.dean.booktown-1/split_lib_slice_3_apk.apk", zip file "/data/app/com.dean.booktown-1/split_lib_slice_4_apk.apk"],nativeLibraryDirectories=[/data/app/com.dean.booktown-1/lib/arm64, /vendor/lib64, /system/lib64]]
                                                                 at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
                                                                 at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
                                                                 at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
                                                                 at android.app.ActivityThread.installProvider(ActivityThread.java:5229)
                                                                 at android.app.ActivityThread.installContentProviders(ActivityThread.java:4836) 
                                                                 at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4776) 
                                                                 at android.app.ActivityThread.access$1600(ActivityThread.java:157) 
                                                                 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1417) 
                                                                 at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                 at android.os.Looper.loop(Looper.java:148) 
                                                                 at android.app.ActivityThread.main(ActivityThread.java:5525) 
                                                                 at java.lang.reflect.Method.invoke(Native Method) 
                                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730) 
                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620) 
                                                                Suppressed: java.lang.ClassNotFoundException: com.google.firebase.provider.FirebaseInitProvider
                                                                 at java.lang.Class.classForName(Native Method)
                                                                 at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
                                                                 at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
                                                                 at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
                                                                        ... 12 more
                                                              Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

我搜索了同样问题的其他人,大多数答案都是关于不整体播放服务但只需要部分,但我已经这样做了     apply plugin:'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "25.0.0" /* TODO: Check 25.0.3 */
    /* Before update - 24.0.2 */

    defaultConfig {
        applicationId "com.dean.booktown"
        minSdkVersion 23
        targetSdkVersion 23
        versionCode 1
        versionName "Beta v0.8.6 'Ready'"
        /* To enable Jack Toolchain - required for Java 8 */
        /* jackOptions {
            enabled true
        } */
    }
    /* To enable Java 8 */
    /* compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    } */
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    compile 'com.android.support:appcompat-v7:23.4.0' /* Error? TODO: Check 25.3.1 */
    compile 'com.google.android.gms:play-services-ads:10.2.6' /* AdMob */
    compile 'com.github.bumptech.glide:glide:4.0.0-RC0' /* Glide - Loads lightweight images */
    compile 'com.android.support:support-v4:23.4.0' /* TODO: Check 25.3.1 */
    compile 'com.google.android.gms:play-services-location:10.2.6' /* Required for Firebase, AdMob(?) */
    compile 'com.google.firebase:firebase-core:10.2.6' /* Firebase */
    compile 'com.google.firebase:firebase-auth:10.2.6' /* Firebase - authentication */
    testCompile 'junit:junit:4.12'
    compile 'com.android.support.constraint:constraint-layout:1.0.2' /* The new android ConstraintLayout */
    compile 'com.google.firebase:firebase-messaging:10.2.6' /* Firebase - Cloud Messaging */
    compile 'com.firebase:firebase-jobdispatcher:0.5.2' /* Firebase - Cloud Messaging Job Dispatcher */
}
apply plugin: 'com.google.gms.google-services'

问题可能就在这里:我的包名是 com.dean.booktown
不是 com.dean.booktown-1
如果这确实是问题,我在哪里找到错误来修复它,为什么它首先发生?

非常感谢,
迪安

1 个答案:

答案 0 :(得分:0)

com.dean.booktown-1

这实际上是安装APK的文件夹

是否安装了SDK和Google工具和库?你应该仔细检查一下,因为你交换了环境。

编辑; 从this question开始,是否启用了MultiDex? MultiDex使您的应用程序可以使用许多类。要添加它,请参阅答案#2