"NoClassDefFoundError: com.google.firebase.FirebaseOptions"在 firebase android 中。
"NoClassDefFoundError: com.google.firebase.FirebaseOptions"在 firebase android 中。
我尝试在Android应用中使用Firebase。
我添加了Firebase库并按照一些教程进行操作,但是在运行时出现了错误。
我的gradle文件:
apply plugin: 'com.android.application' android { compileSdkVersion 24 buildToolsVersion "24.0.0" defaultConfig { applicationId "com.ring" minSdkVersion 15 targetSdkVersion 24 versionCode 1 versionName "1.0" multiDexEnabled true } buildTypes { release { minifyEnabled true 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(include: ['*.jar'], dir: 'libs') testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:24.1.1' compile 'com.android.support:design:24.1.1' compile 'com.android.support:support-v4:24.1.1' compile 'com.firebase:firebase-client-android:2.3.1' compile "com.google.firebase:firebase-auth:9.0.2" compile 'com.google.android.gms:play-services-wearable:9.0.2' compile 'com.google.android.gms:play-services:9.0.2' compile 'com.android.support:multidex:1.0.1' } apply plugin: 'com.google.gms.google-services'
我的顶级gradle文件:
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:2.1.2' classpath 'com.google.gms:google-services:3.0.0' // 注意:不要将应用程序的依赖项放在这里;它们属于各个模块的build.gradle文件中 } } allprojects { repositories { mavenCentral() } } task clean(type: Delete) { delete rootProject.buildDir }
当我运行项目时出现错误:
Java.lang.NoClassDefFoundError: com.google.firebase.FirebaseOptions
NoClassDefFoundError: com.google.firebase.FirebaseOptions 错误出现的原因是项目中使用的 Firebase 版本不匹配,解决方法是将项目中的 Firebase 版本修改为匹配的版本。
解决方法如下:
1. 清理项目。
2. 将以下代码替换为原有的 Firebase 依赖项:
compile 'com.firebase:firebase-client-android:2.3.1' compile "com.google.firebase:firebase-auth:9.0.2"
替换为:
compile 'com.google.firebase:firebase-core:9.2.1' compile 'com.google.firebase:firebase-database:9.2.1' compile 'com.google.firebase:firebase-auth:9.2.1'
3. 删除以下代码:
packagingOptions{ exclude 'META-INF/LICENSE' exclude 'META-INF/LICENSE/FIREBASE.txt' exclude 'META-INF/NOTICE'}
以上就是解决 "NoClassDefFoundError: com.google.firebase.FirebaseOptions" 错误的步骤。