2016-08-03 10 views
13

Я пытаюсь написать в свою БД со следующим примером «Set up Firebase Realtime Database for Android», но приложение вылетает при запуске.Повреждение базы данных базы данных Firebase

Это кажется потому, что зависимость:

compile 'com.google.firebase:firebase-database:9.2.1' 

Журнал аварии:

FATAL EXCEPTION: main 
Process: com.example.giat.myapplication, PID: 3874 
java.lang.NoSuchMethodError: No static method zzeq(Landroid/content/Context;)Lcom/google/android/gms/internal/zzalp; in class Lcom/google/android/gms/internal/zzalp; or its super classes (declaration of 'com.google.android.gms.internal.zzalp' appears in /data/data/com.example.giat.myapplication/files/instant-run/dex/slice-com.google.firebase-firebase-database-9.2.1_b22e7bdbdba6ace0ee1e94f163c76d1f75b59f7e-classes.dex) 
    at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) 
    at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) 
    at com.google.firebase.FirebaseApp.zzek(Unknown Source) 
    at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source) 
    at android.content.ContentProvider.attachInfo(ContentProvider.java:1702) 
    at android.content.ContentProvider.attachInfo(ContentProvider.java:1665) 
    at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source) 
    at android.app.ActivityThread.installProvider(ActivityThread.java:5417) 
    at android.app.ActivityThread.installContentProviders(ActivityThread.java:4988) 
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4923) 
    at android.app.ActivityThread.access$1500(ActivityThread.java:144) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1424) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:155) 
    at android.app.ActivityThread.main(ActivityThread.java:5696) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1028) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823) 

MY App build.gradle:

apply plugin: 'com.android.application' 

android { 
compileSdkVersion 24 
buildToolsVersion "24.0.1" 

defaultConfig { 
    applicationId "com.example.giat.myapplication" 
    minSdkVersion 15 
    targetSdkVersion 24 
    versionCode 1 
    versionName "1.0" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
} 

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
testCompile 'junit:junit:4.12' 
compile 'com.android.support:appcompat-v7:24.1.1' 
compile 'com.google.firebase:firebase-core:9.4.0' 
compile 'com.google.firebase:firebase-database:9.2.1' 

} 


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

Как исправить эту проблему?

+0

Вы также следовали этим другим [настройкам в построения] (https://firebase.google.com/docs/android/setup)? –

+0

есть. Я сделал все, как они сказали –

+0

Попробуйте обновить зависимости для использования той же версии для firebase libs. Сделайте либо 9.4.0, либо 9.2.1. –

ответ

35

Эта проблема вызвана использованием непоследовательных версий библиотеки Firebase. Обновляйте зависимости сборки, чтобы последовательно использовать версию 9.4.0.

compile 'com.google.firebase:firebase-core:9.4.0' 
compile 'com.google.firebase:firebase-database:9.4.0' 
+0

Спасибо за то, что так на вопросы Firebase @qbix. Очень признателен! –

+3

@FrankvanPuffelen: Добро пожаловать. Это образовательный и удовлетворительный. Иногда мне жаль, что это было не так весело. Я должен сосредоточиться на решении моих собственных проблем! –

+0

спасибо! он работает сейчас :) , но мне интересно, почему они не упоминают этот момент (или просто я его пропустил) –

3

Эта проблема возникает, поскольку несоответствие версии зависимостей означает использование всей библиотеки firebase, связанной с уникальной версией, например, следующим образом.

Неправильный путь:

compile 'com.google.firebase:firebase-ads:9.6.0' 
compile 'com.google.firebase:firebase-database:9.4.0' 
compile 'com.google.firebase:firebase-core:9.4.0' 

Правильный способ:

compile 'com.google.firebase:firebase-ads:9.6.0' 
compile 'com.google.firebase:firebase-database:9.6.0' 
compile 'com.google.firebase:firebase-core:9.6.0' 
3

Если, как я, у вас есть все ваши firebase вещи, используя один и тот же вер. обязательно проверьте все связанные с Google.

Для меня было:

compile 'com.google.firebase:firebase-core:10.0.1' 
compile 'com.google.firebase:firebase-ads:10.0.1' 
compile 'com.google.firebase:firebase-config:10.0.1' 

и:

compile 'com.google.android.gms:play-services-ads:10.2.1' 

Вопрос для меня не было, что firebase не совпадают по себе, но они не соответствуют Google веры. используется для рекламы.

Изменяя все мои бомбы, чтобы использовать 10.2.1, решил проблему для меня.

Таким образом, убедитесь, что все элементы firebase соответствуют другим google-тегам.

2

Я тоже боролся с этим, имел как игровые сервисы, так и firebase на той же версии 10.2.0 и до сих пор получил исключения. Это было:

compile "com.google.android.gms:play-services-gcm:10.2.0" 
compile "com.google.firebase:firebase-messaging:10.2.0" 

В конце концов я просто повышен до 10.2.1

compile "com.google.android.gms:play-services-gcm:10.2.1" 
compile "com.google.firebase:firebase-messaging:10.2.1" 

и исключения пропали!

-1

проблема с firebase зависимостей ....

это проблема совместимости версии

dependencies { 

compile 'com.android.support:appcompat-v7:25.3.1' 
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha7' 
compile 'com.google.firebase:firebase-database:10.0.1' 
compile 'com.google.firebase:firebase-storage:10.0.1' 
compile 'com.google.firebase:firebase-auth:10.0.1' 
compile 'com.google.firebase:firebase-core:10.0.1' 

compile 'com.firebaseui:firebase-ui-database:1.0.1' 

testCompile 'junit:junit:4.12' 
compile 'com.android.support:cardview-v7:25.3.1' 
compile 'com.android.support:recyclerview-v7:25.3.1' 

} 

шахта была проблема с firebase-Ui версии 1.2.0

, то я изменил его на 1.0.1, что соответствует другим версиям firebase.

для более посетить эту страницу ....

https://github.com/firebase/FirebaseUI-Android

0

я была такая же проблема при обновлении до Android Studio v3 и модернизированных SDKs. Fix состояла в приложение/build.gradle, чтобы переключиться на 11.4.2 версии:

Compile "com.google.android.gms: стыковые услуги базы: 11.4.2" компиляции «com.google.firebase: firebase-ядро:. 11.4.2"

в основной build.gradle Move 3.1.1 версии и добавить Maven URL

classpath 'com.google.gms:google-services:3.1.1' 
    maven { 
     url 'https://maven.google.com' 
    } 

См https://rnfirebase.io/docs/v3.0 */установка/андроид # 4.-INSTALL-модули

Смежные вопросы