无法获取FirebaseInitProvider异常

时间:2016-12-01 16:56:16

标签: android firebase

          apply plugin: 'com.android.application'

          android {
      compileSdkVersion 25
      buildToolsVersion "25.0.0"
      defaultConfig {
      applicationId "com.emperors.raaste"
      minSdkVersion 16
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    multiDexEnabled=true
}
buildTypes {
    release {
        multiDexEnabled=true
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    packagingOptions {
        exclude 'libs/jackson-core-asl-1.9.13.jar'
        exclude 'libs/jackson-mapper-asl-1.9.13.jar'
        exclude 'META-INF/ASL2.0'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'

    }
}
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7

}
}

  dependencies {
  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'
})
compile files('libs/map_sdk_2.0.jar')
compile 'com.android.support:appcompat-v7:25.0.1'
compile 'com.android.support:support-v4:25.0.1'
compile 'com.android.support:design:25.0.1'
compile 'com.android.support:support-annotations:25.0.1'
compile 'com.google.android.gms:play-services-auth:10.0.1'
compile 'com.google.firebase:firebase-core:10.0.1'
compile 'com.google.firebase:firebase-database:10.0.1'
compile 'com.google.firebase:firebase-auth:10.0.1'
compile 'com.google.firebase:firebase-storage:10.0.1'
compile 'com.theartofdev.edmodo:android-image-cropper:2.3.+'
compile 'com.google.firebase:firebase-messaging:10.0.1'
compile 'com.google.android.gms:play-services:10.0.1'
compile 'com.google.firebase:firebase-invites:10.0.1'
compile 'com.google.firebase:firebase-ads:10.0.1'
testCompile 'junit:junit:4.12'
compile 'com.google.code.gson:gson:2.4'
compile 'com.squareup.picasso:picasso:2.3.2'
compile 'com.android.support:support-vector-drawable:25.0.1'
compile 'com.android.support:recyclerview-v7:25.0.1'
compile 'com.android.support:multidex:1.0.1'
}




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

这是我的gradle文件,我无法解决此问题我刚刚更新了Google服务和存储库,之后我收到此错误无法获取FirebaseInitProvider

我尝试了multidexenable=true并在MultidexApplication中设置了MultiDexInstall(this);,我仍然得到同样的例外,是否有人可以帮助我。

2 个答案:

答案 0 :(得分:1)

虽然您已尝试启用Multidex,但似乎未正确配置。最有可能的是,您配置Application课程的方式有问题。如果由于Multidex以外的原因不需要继承Application,只需使用提供的MultiDexApplication并使用以下行修改清单的application元素:

android:name="android.support.multidex.MultiDexApplication"

否则按照Multidex configuration instructions

中的说明从MultiDexApplication扩展您的Application类

当Multidex配置正确且有效时,您会在logcat中看到如下消息:

I/MultiDex: install
I/MultiDex: MultiDexExtractor.load(/data/app/com.qbix.multidextest-10.apk, false)
I/MultiDex: Detected that extraction must be performed.
I/MultiDex: install done

虽然你的应用程序的当前配置包含超过65K的方法引用,因此需要Multidex用于pre-Lollipop设备,你可能可以消除它。您对com.google.android.gms:play-services:10.0.1的依赖性正在吸引所有Play服务API。它们在标题为有选择地将API编译到可执行文件的部分中为listed here。删除com.google.android.gms:play-services:10.0.1并将其替换为您需要的特定API。这将改善您的构建时间,使您的APK更小,并且可以消除对Multidex的需求。

答案 1 :(得分:1)

似乎是' Multidex 64K方法' - 问题。该应用适用于Android API级别> = 21,但如果你的minSdkVersion是< 21,你应该遵循这些指示:

  • 添加" multiDexEnabled true"在" android defaultConfig"
  • add" compile' com.android.support:multidex:1.0.1'" in"依赖"
  • 添加' android:name =" android.support.multidex.MultiDexApplication"'在清单中的应用程序标签或更改"扩展应用程序"使用"扩展MultiDexApplication"如果您覆盖Application类。

这是指向官方网页的链接:

https://developer.android.com/studio/build/multidex.html