簡體   English   中英

找不到類“ com.google.android.gms.common.util.zzs”

[英]Didn't find class “com.google.android.gms.common.util.zzs”

Frist,我在一個大型項目中有一個模塊,我嘗試對其進行升級以使用最新版本的Gradle和我使用api而非實現的庫,因為升級后我需要在項目和模塊中使用一些自由,當收到應用程序崩潰時, Firebase的通知。 我嘗試將FCM更新到最新版本,並在更新Gradle,FCM和GMS之前將其工作的最新版本的gms位置更新為12.0.1,並且我的應用程序沒有崩潰

apply plugin: 'com.android.library'
apply plugin: 'realm-android'

android {
    compileSdkVersion rootProject.compileSdkVersion
    buildToolsVersion rootProject.buildToolsVersion


    defaultConfig {
        minSdkVersion 23
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    repositories {
        flatDir {
            dirs 'libs'

        }
    }

}

ext {
    appCompatVersion = '27.1.1'
    rxJavaVersion = '1.1.1'
    rxAndroidVersion = '0.24.0'
    constraintLayoutVersion = '1.1.1'
    glideVersion = '3.7.0'
    shortcutBadgerVersion = '1.1.16@aar'
    fabVersion = '1.6.4'
    libphoneGeocoderVersion = '2.62'
    libphoneVersion = '8.2.0'
    retrofitVersion = '2.3.0'
    countryPickerVersion = '1.1.9'
    webSocketVersion = '1.3.0'
    webRtcVersion = '9127@aar'
    firebaseVersion = '17.0.0'
    okHttpVersion = '3.8.1'
    hockeyAppVersion = '5.1.0'
    exoPlayerVersion = '2.6.0'
    eventBusVersion = '3.1.1'
    gmsVersion='15.0.1'
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    api "com.android.support:appcompat-v7:$appCompatVersion"
    api "com.android.support:design:$appCompatVersion"
    api "io.reactivex:rxjava:$rxJavaVersion"
    api "io.reactivex:rxandroid:$rxAndroidVersion"
    api "com.android.support.constraint:constraint-layout:$constraintLayoutVersion"
    api "com.github.bumptech.glide:glide:$glideVersion"
    api "me.leolin:ShortcutBadger:$shortcutBadgerVersion"
    api "com.github.clans:fab:$fabVersion"
    api "com.googlecode.libphonenumber:geocoder:$libphoneGeocoderVersion"
    api "com.googlecode.libphonenumber:libphonenumber:$libphoneVersion"
    api "com.squareup.retrofit2:retrofit:$retrofitVersion"
    api "com.squareup.retrofit2:converter-gson:$retrofitVersion"
    api "com.github.mukeshsolanki:country-picker-android:$countryPickerVersion"
    api "org.java-websocket:Java-WebSocket:$webSocketVersion"
    api "io.pristine:libjingle:$webRtcVersion"
    implementation "com.google.firebase:firebase-messaging:$firebaseVersion"
    api "com.squareup.okhttp3:okhttp:$okHttpVersion"
    api "net.hockeyapp.android:HockeySDK:$hockeyAppVersion"
    api "org.greenrobot:eventbus:$eventBusVersion"
    api ("com.google.android.gms:play-services-location:$gmsVersion"){
        force = true
    }
    api('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
        transitive = true
    }
    api('com.crashlytics.sdk.android:answers:1.4.1@aar') {
        transitive = true
    }

    //excluding annotations dependency as it conflicts with that of dialer in the version
    api("com.google.android.exoplayer:exoplayer-core:$exoPlayerVersion") {
        exclude group: 'com.android.support', module: 'support-annotations'
    }

    api(name: 'lifbeandroidlib-1.0.1', ext: 'aar')
    api(name: 'networkcollectdata-1.8.0', ext: 'aar')

    //test
    testImplementation 'junit:junit:4.12'
    androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.1', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })

    api group: 'com.squareup.leakcanary', name: 'leakcanary-android', version: '1.5.1'
}

和這個錯誤日志

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/util/zzs;
        at com.google.android.gms.gcm.GcmReceiver.onReceive(Unknown Source)
        at android.app.ActivityThread.handleReceiver(ActivityThread.java:3104)
        at android.app.ActivityThread.-wrap18(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1592)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:241)
        at android.app.ActivityThread.main(ActivityThread.java:6274)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.util.zzs" on path: DexPathList[[zip file

更新您的播放服務依賴性-

com.google.android.gms:play-services-base:15.0.1

Firebase需要基本播放服務庫才能正常運行。

經過很多馬戲,我發現了問題,在App從GCM遷移到FCM的過程中,我們必須從AndroidManifest.xml中刪除“ Receiver”。

接收器要刪除:

<receiver
     android:name="com.google.android.gms.gcm.GcmReceiver"
     android:exported="true"
     android:permission="com.google.android.c2dm.permission.SEND">
     <intent-filter>
         <action android:name="com.google.android.c2dm.intent.RECEIVE"/>
         <category android:name="com.gnirt69.gcmexample"/>
     </intent-filter>
 </receiver>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM