1

so ich habe und Android-Projekt, das ich brauche Firebase Messaging API enthalten, hier ist meine grande Configandroid multidex Unterstützung mit Feuerbasis Messaging api

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 24 
    buildToolsVersion "23.0.3" 

    signingConfigs { 
     config { 
      keyAlias 'XXXXXXX' 
      keyPassword 'XXXXXXXX' 
      storeFile file('/path/path/etc') 
      storePassword 'noiGGW4P6509' 
     } 
    } 

    defaultConfig { 
     applicationId "xxx.xxxxxx.xxxxxx" 
     minSdkVersion 16 
     targetSdkVersion 22 
     versionCode 37 
     versionName "2.0" 
     renderscriptTargetApi 20 
     renderscriptSupportModeEnabled true 
     multiDexEnabled true 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
      signingConfig signingConfigs.config 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:multidex:1.0.1' 
    compile 'com.android.support:appcompat-v7:24.0.0' 
    compile 'com.android.support:support-v4:24.0.0' 
    compile 'com.android.support:design:24.0.0' 
    compile 'com.google.android.gms:play-services-maps:9.2.0' 
    compile 'com.google.android.gms:play-services-location:9.2.0' 
    compile 'com.google.android.gms:play-services-analytics:9.2.0' 
    compile 'com.google.android.gms:play-services-vision:9.2.0' 
    compile 'com.android.support:recyclerview-v7:24.0.0' 
    compile 'com.parse:parse-android:1.13.1' 
    compile 'com.parse:parseinterceptors:0.0.2' 
    compile 'com.parse:parsefacebookutils-v4-android:[email protected]' 
    compile('com.facebook.android:facebook-android-sdk:4.8.0') { 
     exclude module: 'bolts-android' 
    } 
    compile 'com.squareup.picasso:picasso:2.5.2' 
    compile 'com.android.support:palette-v7:24.0.0' 
    compile 'org.apmem.tools:layouts:[email protected]' 
    compile 'de.hdodenhof:circleimageview:2.0.0' 
    compile 'jp.wasabeef:picasso-transformations:1.3.1' 
    compile 'com.github.glomadrian:loadingballs:[email protected]' 
    compile 'com.vlonjatg.android:app-tour:1.0' 
    compile 'com.pixplicity.sharp:library:[email protected]' 
    compile 'com.github.hotchemi:android-rate:0.5.6' 
    compile 'info.hoang8f:android-segmented:1.0.6' 
    compile 'com.android.support:cardview-v7:24.0.0' 
    compile 'com.google.firebase:firebase-messaging:9.0.2' 
    compile files('libs/GoogleConversionTrackingSdk-2.2.4.jar') 
} 

Ich folge dem Führer multidex Unterstützung in der App von ermöglichen hier https://developer.android.com/studio/build/multidex.html, habe ich die Application-Klasse erweitert

public class EnsivarApplication extends Application { 

    private Tracker mTracker; 

    @Override 
    protected void attachBaseContext(Context base) { 
     super.attachBaseContext(base); 
     MultiDex.install(this); 
    } 

Alle gut aussehen, die App kompilieren, aber wenn es in der Einrichtung (5,0) oder Simulator (4.3) bekomme ich diesen Fehler

läuft
java.lang.NoSuchMethodError: No static method zzb(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; in class Lcom/google/android/gms/common/internal/zzaa; or its super classes (declaration of 'com.google.android.gms.common.internal.zzaa' appears in /data/data/net.clevermobileapps.ensivar/files/instant-run/dex/slice-com.google.android.gms-play-services-basement-9.2.0_18a98179390602e5eecdbb442b4bc7d2fd2324b7-classes.dex) 
at com.google.firebase.provider.FirebaseInitProvider.zza(Unknown Source) 
at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source) 
at android.app.ActivityThread.installProvider(ActivityThread.java:5146) 
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4741) 
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4681) 
at android.app.ActivityThread.access$1500(ActivityThread.java:162) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1409) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:135) 
at android.app.ActivityThread.main(ActivityThread.java:5422) 
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:914) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:707) 

Wenn ich die Firebase Lib entfernen, funktioniert alles gut, ich habe keine Ahnung, warum nicht funktioniert, jede Hilfe wird sehr geschätzt, danke!

Antwort

4

Verwenden Feuerbasis Abhängigkeit Version 9.2.0 als auch mit Google-Play-Dienste Abhängigkeiten entsprechen.

+1

Ja, das war die Lösung, ich benutzte die Version aus der Dokumentation, aber ich wusste nicht, dass ich mit den anderen übereinstimmen muss, danke nochmal! – goseta