首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >更新到新的firebase后获取异常java.lang.NoClassDefFoundError: com.google.firebase.FirebaseOptions

更新到新的firebase后获取异常java.lang.NoClassDefFoundError: com.google.firebase.FirebaseOptions
EN

Stack Overflow用户
提问于 2016-05-21 15:25:28
回答 15查看 89.8K关注 0票数 71

我已经使用this将我的应用程序更新到新的firebase,现在当我编译我的项目时,我得到了以下异常。

这是我的日志:

11:57:54.533 27844-27844/com.example.dayshift_2.traveyy E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.dayshift_2.traveyy, PID: 27844
java.lang.NoClassDefFoundError: com.google.firebase.FirebaseOptions
at com.google.firebase.FirebaseApp.zzbu(Unknown Source)
at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1591)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1562)
at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
at android.app.ActivityThread.installProvider(ActivityThread.java:4871)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4466)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4406)
at android.app.ActivityThread.access$1500(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1270)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5102)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)

My Build.gradle :

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.3"

defaultConfig {
    applicationId "com.example.dayshift_2.traveyy"
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
packagingOptions {
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/LICENSE-FIREBASE.txt'
    exclude 'META-INF/NOTICE'
}
}

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

compile 'com.android.support:appcompat-v7:23.3.0'
compile 'com.android.support:design:23.3.0'
compile 'com.facebook.android:facebook-android-sdk:4.+'
compile 'com.google.android.gms:play-services:9.0.0'
compile 'com.google.firebase:firebase-database:9.0.0'
compile 'com.google.firebase:firebase-auth:9.0.0'
compile 'com.android.support:support-v13:23.3.0'
compile 'com.roughike:bottom-bar:1.2.1'
}


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

不确定我从哪里得到这个异常。任何帮助都将受到高度的感谢。谢谢

EN

回答 15

Stack Overflow用户

回答已采纳

发布于 2016-05-21 22:16:47

这对我很有效:

  1. 如果你还没有更新你的'Google Play服务‘,请从Android SDK管理器>
    1. 更新到版本30。

删除

  • ,然后将行compile 'com.android.support:multidex:1.0.1'添加到您的依赖项中(如果不需要,则直接删除multiDexEnabled true )

  • 将此属性添加到清单中的应用程序标记:android:name="android.support.multidex.MultiDexApplication"

如果您已经在Android Manifest中定义了自定义应用程序类,请从MultiDexApplication而不是Application 扩展它

希望它能帮上忙!

票数 141
EN

Stack Overflow用户

发布于 2016-06-10 23:14:27

使用最新的Google Play服务,但不起作用。对我来说,这个过程是有效的:

  1. 更新了我的应用程序类:

公共类应用扩展应用{ @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base);MultiDex.install(this);}}

  • 更新的build.gradle文件:

defaultConfig { ...multiDexEnabled true }

  • 包含依赖项:

依赖项{编译'com.android.support:multidex:1.0.0‘}

票数 46
EN

Stack Overflow用户

发布于 2016-07-06 20:43:01

修复guys.If是如此简单,你可以在你的项目中使用播放器服务和firebase,确保你没有导入google.Just中所有可用的服务,导入你实际需要的API。例如:

 compile 'com.google.firebase:firebase-messaging:9.2.0'
 compile 'com.google.android.gms:play-services:9.2.0'

这样做可以给你noclassdeffounderror .To修复这个问题

删除play-services并同步您的项目。如果你有依赖性,比如在你的应用中使用广告或地图,那么定义特定的API。像这样:

compile 'com.google.android.gms:play-services-maps:9.2.0'

注意: Maximum请勿尝试使用multiDexEnabled true。这应该是你修复某些东西的最后一步。

希望这能对你有所帮助。

票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37360126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档