Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

After upgrading to google play services 8.4.0 my app crashes on startup

Tags:

I've been previously using google play services 8.3.0 without any issue. I'm looking to upgrade to google play services 8.4.0. I'm using the following play libraries:

compile 'com.google.android.gms:play-services-analytics:8.4.0' compile 'com.google.android.gms:play-services-location:8.4.0' compile 'com.google.android.gms:play-services-gcm:8.4.0' 

When I start the app it crashes, with the following log.

12-27 03:01:33.915 20567-20567/com.ryanc.android.stage.debug E/AndroidRuntime: FATAL EXCEPTION: main     Process: com.ryanc.android.stage.debug, PID: 20567     java.lang.NoSuchMethodError: No static method zzz(Ljava/lang/Object;)Ljava/lang/Object; in class Lcom/google/android/gms/common/internal/zzx; or its super classes (declaration of 'com.google.android.gms.common.internal.zzx' appears in /data/app/com.ryanc.android.stage.debug-1/base.apk:classes17.dex)     at com.google.android.gms.measurement.internal.zzw.zzaT(Unknown Source)     at com.google.android.gms.measurement.AppMeasurementContentProvider.onCreate(Unknown Source)     at android.content.ContentProvider.attachInfo(ContentProvider.java:1696)     at android.content.ContentProvider.attachInfo(ContentProvider.java:1671)     at android.app.ActivityThread.installProvider(ActivityThread.java:4999)     at android.app.ActivityThread.installContentProviders(ActivityThread.java:4594)     at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4534)     at android.app.ActivityThread.access$1500(ActivityThread.java:151)     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)     at android.os.Handler.dispatchMessage(Handler.java:102)     at android.os.Looper.loop(Looper.java:135)     at android.app.ActivityThread.main(ActivityThread.java:5254)     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:903)     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 

Edit: Not sure it'll help, but at @gerardnimo request here is the full build.gradle file. Also worth noting I have tried a clean build and deleting and reinstalling play services sdks from my computer.

apply plugin: 'com.android.application' apply plugin: 'checkstyle'  def SDK = "$MIN_SDK_VERSION" def V_CODE = "$VERSION_CODE"  buildscript {     repositories {         mavenCentral()     } }  repositories {     mavenCentral()     jcenter()     maven { url 'https://zendesk.artifactoryonline.com/zendesk/repo' }     maven { url "http://kahuna.github.io/kahuna-android/sdk" } }  android {     compileSdkVersion 23     buildToolsVersion '23.0.2'     defaultConfig {         applicationId "com.ryanc.android"         minSdkVersion SDK.toInteger()         targetSdkVersion 23         versionCode V_CODE.toInteger()         versionName "$APP_VERSION.$BUILD_NUMBER"         multiDexEnabled true     }     signingConfigs {         debug {             storeFile file("$DEBUG_KEYSTORE_PATH")             storePassword "$DEBUG_KEYSTORE_PASSWORD"             keyAlias "$DEBUG_KEY_ALIAS"             keyPassword "$DEBUG_KEY_PASSWORD"         }         release {             storeFile file("$KEYSTORE_PATH")             storePassword "$KEYSTORE_PASSWORD"             keyAlias "$KEY_ALIAS"             keyPassword "$KEY_PASSWORD"         }     }     compileOptions {         sourceCompatibility JavaVersion.VERSION_1_7         targetCompatibility JavaVersion.VERSION_1_7     }     buildTypes {         debug {             applicationIdSuffix ".debug"         }         release {             minifyEnabled false             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'             signingConfig signingConfigs.release         }     }     packagingOptions {         exclude 'META-INF/LICENSE'         exclude 'META-INF/NOTICE'     }     productFlavors {         prod {             applicationId "com.ryanc.android"         }          stage {             applicationId "com.ryanc.android.stage"         }          qa {             applicationId "com.ryanc.android.qa"         }          dev {             applicationId "com.ryanc.android.dev"         }     }     dexOptions {         javaMaxHeapSize "4g"     } }  repositories {     flatDir {         dirs 'libs'     } }  dependencies {     def supportVersion = "23.1.1"      compile fileTree(dir: 'libs', include: ['*.jar'])     compile project(':api')     compile "com.android.support:support-v4:$supportVersion"     compile "com.android.support:appcompat-v7:$supportVersion"     compile "com.android.support:design:$supportVersion"     compile 'com.facebook.android:facebook-android-sdk:4.8.1'     compile 'uk.co.chrisjenx:calligraphy:2.0.1'     compile "com.android.support:cardview-v7:$supportVersion"     compile "com.android.support:recyclerview-v7:$supportVersion"     compile "com.android.support:support-v13:$supportVersion"     compile 'com.google.android.gms:play-services-analytics:8.4.0'     compile 'com.google.android.gms:play-services-location:8.4.0'     compile 'com.google.android.gms:play-services-gcm:8.4.0'     compile 'com.fasterxml.jackson.core:jackson-databind:2.4.5'     compile 'com.fasterxml.jackson.core:jackson-core:2.4.5'     compile 'com.fasterxml.jackson.core:jackson-annotations:2.4.5'     compile 'joda-time:joda-time:2.5'     compile 'com.squareup.retrofit:retrofit:1.7.1'     compile 'com.squareup.okhttp:okhttp-urlconnection:2.5.0'     compile 'com.squareup.okhttp:okhttp:2.5.0'     compile 'com.squareup.picasso:picasso:2.5.2'     compile 'com.netflix.rxjava:rxjava-core:0.20.7'     compile 'com.netflix.rxjava:rxjava-android:0.20.7'     compile 'com.squareup.dagger:dagger:1.2.2'     compile 'com.squareup.mortar:mortar:0.16'     compile 'com.squareup.flow:flow:0.8'     compile 'com.jakewharton:butterknife:6.1.0'     compile 'com.jakewharton.timber:timber:2.5.1'     compile 'com.braintreepayments:encryption:2.0.0'     compile 'com.newrelic.agent.android:android-agent:5.3.2'     compile 'com.instabug.library:instabugsupport:1.7.1'     compile 'net.hockeyapp.android:HockeySDK:3.0.2'     provided 'com.squareup.dagger:dagger-compiler:1.2.2'     compile 'com.rengwuxian.materialedittext:library:2.1.4'     compile 'com.android.support:multidex:1.0.1'     compile 'com.mixpanel.android:mixpanel-android:4.6.2'     compile 'com.roomorama:caldroid:2.2.0'     compile 'com.squareup.phrase:phrase:1.1.0'     compile 'com.zendesk:sdk:1.5.0.1'     compile 'com.flipboard:bottomsheet-core:1.4.3'     compile 'com.kahuna.sdk:kahuna:2.3.1'     compile 'io.branch.sdk.android:library:1.+'' } 
like image 507
Ryan C Avatar asked Dec 27 '15 08:12

Ryan C


2 Answers

Versions of play-services libs should be equal, for example:

DO

compile 'com.google.android.gms:play-services-maps:8.4.0' compile 'com.google.android.gms:play-services-gcm:8.4.0' 

DONT

compile 'com.google.android.gms:play-services-maps:7.8.0' compile 'com.google.android.gms:play-services-gcm:8.4.0' 
like image 129
Artemiy Avatar answered Dec 04 '22 05:12

Artemiy


When selectively compile Google Play service APIs on 8.4.0, I've also encountered problems (8.3.0 -> 8.4.0).

Error:

Could not find method com.google.android.gms.common.internal.zzx.zzy 

Before upgrade:

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

After upgrade (doesn't work):

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

After upgrade (works fine):

compile 'com.google.android.gms:play-services-maps:8.4.0' compile 'com.google.android.gms:play-services-gcm:8.4.0' 

Conclusion: it seems like some of the play services now have some certain dependencies that you have to explicitly specify, e.g.: maps -> gcm.

like image 37
Jing Li Avatar answered Dec 04 '22 06:12

Jing Li