Soru java.lang.NoClassDefFoundError: com.google.firebase.FirebaseOptions


Google geliştirici konsolumda bu tuhaf hatayı alıyorum. Bu yüzden gerçekten neler olduğunu görmek için Google Cloud Test Lab'i kullandım. Uygulamam neredeyse tüm cihazlarda başarısız oluyor

FATAL EXCEPTION: main
 Process: com.blackcurrantapps.iamin, PID: 16706
 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)

İşte Test'in bir ekran görüntüsü. enter image description here

İşte işte komik kısım, Uygulamamda Firebase'i bile kullanmıyorum. Uygulamamın tamamında bir yol bulduğumda "Firebase" kelimesine referans yok. Yine de google bulut hizmetleri, giriş ve Google uygulama motorunu kullanıyorum.

İşte benim build.gradle dosyam:

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'com.google.gms.google-services'

android {
    compileSdkVersion 23
    buildToolsVersion '23.0.2'

    defaultConfig {
        applicationId "com.blackcurrantapps.iamin"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 11
        versionName "Fixed Check in Bug"
        multiDexEnabled = true
    }
    buildTypes {
        release {
            shrinkResources true
//            minifyEnabled true
//            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
    }
    dexOptions {
        javaMaxHeapSize "4g"
    }
}
repositories {
    maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
    maven { url "https://oss.sonatype.org/content/groups/public/" }
    maven { url "https://jitpack.io" }
    maven { url 'https://maven.fabric.io/public' }
}

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

    compile('com.mikepenz:materialdrawer:4.5.8@aar') {
        transitive = true
    }

    compile 'com.mikepenz:google-material-typeface:1.2.0.1@aar' //Google Material Design Icons
    compile 'com.mikepenz:fontawesome-typeface:4.4.0.1@aar'

    compile('com.vincentbrison.openlibraries.android:dualcache:2.2.2@jar') {
        transitive = true;
    }

    compile project(':htmlDialog')
    compile('com.twitter.sdk.android:twitter:1.8.0@aar') {
        transitive = true;
    }
    compile 'com.android.support:palette-v7:23.4.0'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support:design:23.4.0'
    compile 'com.google.android.gms:play-services-maps:9.0.0'
    compile 'com.google.android.gms:play-services-gcm:9.0.0'
    compile 'com.google.android.gms:play-services-identity:9.0.0'
    compile 'com.google.android.gms:play-services-base:9.0.0'
    compile 'com.google.android.gms:play-services-plus:9.0.0'
    compile 'com.google.android.gms:play-services-analytics:9.0.0'
    compile 'com.google.android.gms:play-services-location:9.0.0'
    compile 'com.android.support:cardview-v7:23.4.0'
    compile 'com.rengwuxian.materialedittext:library:2.1.3'
    compile 'com.twotoasters.jazzylistview:library:1.2.1'
    compile 'com.twotoasters.jazzylistview:library-recyclerview:1.2.1'
    compile 'com.pnikosis:materialish-progress:1.7'
    compile 'com.getbase:floatingactionbutton:1.10.1'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.squareup.okhttp:okhttp:2.6.0'
    compile 'me.dm7.barcodescanner:zbar:1.8.3'
    compile 'net.glxn.qrgen:android:2.0'
    compile 'com.edmodo:cropper:1.0.1'
    compile 'com.github.PhilJay:MPAndroidChart:v2.1.6'
    compile 'de.greenrobot:eventbus:2.4.0'
    compile 'com.android.support:support-v4:23.4.0'
    compile 'com.pavelsikun:material-seekbar-preference:0.12.1+'

    compile project(path: ':backend', configuration: 'android-endpoints')
}

Bana yardım eden var mı?


32
2018-05-24 18:27


Menşei




Cevaplar:


Sanket sorgusu için teşekkürler. Firebase Test Lab'deki (eskiden Cloud Test Lab) PM. Bunun artık düzeltilmesi gereken bir hata olduğunu bilmenizi isteriz.

Uygulamanız şu anda en yeni ve en iyi Google Play Hizmetleri'ni kullanıyor görünüyor. Cihazlarımızı geçen hafta kullanmak için güncelledik ve daha eski bir sürüme geri döndüğümüz bir hata keşfettik. Şu anda, cihazlarımızdaki en son Play hizmetlerini yeniden uyguladık, bu nedenle testleriniz tekrar çalışmaya başlamalıdır. Değilse, lütfen bana bildirin, biz de ona bakıp düzelteceğiz.


18
2018-05-24 21:00



Sadece Google bulut testi değil, gerçek kullanıcı cihazlarının da en son Google oyun hizmetlerine (9.0) sahip olmaması. Uygulamamı (8.4.4) geri aldım ve her şey yolunda gidiyor. Gelecekte, Google oyun hizmetleri sürümünü, bu tür sorunlardan kaçınmak için en yeni adımdan bir adım daha aşağıda tutmanızı öneriyor musunuz? - Sanket Berde
Uygulamayı gerçek cihazda çalıştırırken de şu hatayı alıyorum: "com.google.firebase.FirebaseApp. <İnit> yönteminden başvurulan" com.google.firebase.FirebaseOptions "sınıfını bulamadınız. 'Com.google sınıfı bulunamadı. com.google.firebase.FirebaseApp.zzaJ yönteminden başvurulan firebase.FirebaseApp $ zzb ', com.google.firebase.FirebaseApp.getToken yönteminden başvurulan "com.google.firebase.FirebaseApiNotAvailableException" sınıfını bulamadınız Sınıf bulunamadı com.google.firebase.FirebaseApp.zza yönteminden başvurulan com.google.firebase.FirebaseApp $ zza ' - Manav Patadia
Ben de sorunu gerçek cihazlarda da yaşıyorum. Telefonların google oyun hizmetlerini güncellemekten başka bir çözüm yolu var mı? - bendaf
Merhaba, Brother google oyun hizmetlerini de güncelledim ama hala aynı hatayı alıyorum. lütfen bana herhangi bir çözüm sunabilir misin. - Alpan
Sabitledim: Cevabımı okuyabilirsin, teşekkürler. stackoverflow.com/questions/37360126/... - sonnv1368


Benim için çalışan bir çözüm buldum. Tüm google oyun hizmetleri 9.0.1 kütüphanesini ithal ediyordum. Geçici çözüm, uygulamanızın gerçekten ihtiyaç duyduğu API'ları içe aktarmaktır. Tüm API listesini alabilirsiniz. İşte.


14
2018-06-02 12:17



Thx, bu benim için çalıştı! - bendaf
Evet! İşe yarıyor :) - mnrl
Teşekkürler ... bu yardımcı olur. - Rorschach
Bunun bir çözüm olduğunu düşünmüyorum. Tam olarak aynı şeyi yapıyordum. - Sanket Berde


Benim durumumla: FCM ve Google haritasını kullan

//for FCM
compile 'com.google.firebase:firebase-messaging:9.4.0'
//for Map
compile 'com.google.android.gms:play-services:9.4.0'

Sabitledim: Kaldırılan

compile 'com.google.android.gms:play-services:9.4.0'

ve Kullanılmış

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

İyi çalıştı.


6
2017-09-09 04:43





Bu başka bir yardımcı olabilir eğer bunu kullanarak bunu çözdü, bu Firebase ile hiçbir yerde olmasına rağmen aslında çarpışma çözüldü

  1. Eklemek compile 'com.android.support:multidex:1.0.1' app / build.gradle için.

  2. Eklemek android:name="android.support.multidex.MultiDexApplication" AndroidManifest.xml'deki uygulama etiketine.

  3. Özel bir Uygulama sınıfı kullanıyorsanız, AndroidManifest.xml dosyasını atlayın ve Uygulama sınıfınızın Uygulama yerine MultiDexApplication uygulamasını uzatmasını sağlayın.


4
2017-09-27 11:14



Benim için çalıştı, hatta adım # 1 olmadan MultiDexApplication sınıfından Application cals'larımı genişlettim ve çalıştı (Kit-Kat 4.4) - Kirill Karmazin


Com.google.firebase: firebase-ads: 9,0.2 AdMob'u kullanmanız gerekiyor Android bağımlılıklarında,

compile 'com.google.firebase:firebase-ads:9.0.2'

ve kaldır

play-services (com.google.android.gms: play-services:9.0.2)

Benim için çalışıyor!


3
2018-06-24 15:21



benim için de çalışıyor! Teşekkürler - Darko Petkovski


Kod snippet'ini izlemeyi deneyin:

defaultConfig { 
    multiDexEnabled true
}

dependencies {
    compile 'com.android.support:multidex:1.0.0'
}

public class Controller extends Application {

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

3
2017-08-03 17:55





Google oyun hizmeti bağımlılığını aşağıya indirin compile 'com.google.android.gms:play-services:8.3.0' ve sorun çözülecek.


2
2017-08-17 16:24





Umarım çok geç değildir. Firebase, sorun oluşturuyordu, dolayısıyla bunu hariç tuttum. Bunu modül kürsüsüne ekledim:

configurations {
    all*.exclude group: 'com.google.firebase', module: 'firebase-common'
}

2
2017-08-23 03:16



Bu tam olarak ne yapar? - Sanket Berde
temel olarak firebase paketini hariç tutar. - klutch