Reputation: 3692
Today I updated all my support libraries and buildtools to the latest version to support Android N
. Once I updated everything and ran the app, I got an error in InstanceId
generation method of GCM
in my app. So, I searched and found solutions that suggested to update play-services too. After following all the SO questions and answers, I am stuck and can't move forward. Switching back to support libraries 23.x.x
is not an option as I want to target Android N
.
Here is how my project level build.gradle
files look:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0'
classpath 'com.google.gms:google-services:3.0.0'
}
}
allprojects {
repositories {
jcenter()
}
}
App level build.gradle
:
buildscript {
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
// maven { url 'http://hansel.io/maven' }
maven {
url "https://jitpack.io"
}
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
// classpath 'io.hansel.preprocessor:preprocessor:1.0.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
//apply plugin: 'io.hansel.preprocessor'
android {
compileSdkVersion 24
buildToolsVersion "24.0.2"
signingConfigs {
}
defaultConfig {
applicationId 'com.example.android'
multiDexEnabled true
minSdkVersion 16
targetSdkVersion 24
versionCode 47
versionName "1.3.2"
renderscriptTargetApi 24
renderscriptSupportModeEnabled true
}
buildTypes {
debug {
applicationIdSuffix = ".dev"
resValue "string", "app_name", "example-debug"
}
release {
minifyEnabled false
shrinkResources false
resValue "string", "app_name", "example"
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
dev {
// dev utilizes minSDKVersion = 21 to allow the Android gradle plugin
// to pre-dex each module and produce an APK that can be tested on
// Android Lollipop without time consuming dex merging processes.
minSdkVersion 21
}
prod {
// The actual minSdkVersion for the application.
minSdkVersion 16
}
}
dexOptions {
javaMaxHeapSize "4g"
}
}
repositories {
mavenCentral()
mavenLocal()
jcenter()
maven { url 'https://maven.fabric.io/public' }
maven { url "https://jitpack.io" }
// maven { url 'http://hansel.io/maven' }
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support:support-v4:24.2.1'
compile 'com.android.support:support-annotations:24.2.1'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.android.support:design:24.2.1'
compile 'com.facebook.android:facebook-android-sdk:4.3.0'
compile 'com.squareup.okhttp:okhttp:2.4.0'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.4.0'
compile 'com.android.support:recyclerview-v7:24.2.1'
compile 'com.android.support:cardview-v7:24.2.1'
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'com.jakewharton:butterknife:7.0.1'
compile 'com.github.clans:fab:1.6.1'
compile 'com.facebook.fresco:fresco:0.8.1+'
compile 'com.facebook.fresco:imagepipeline-okhttp:0.8.1+'
compile 'uk.co.chrisjenx:calligraphy:2.1.0'
compile 'com.google.android.gms:play-services-analytics:9.6.1'
compile 'com.google.android.gms:play-services-location:9.6.1'
compile 'com.google.android.gms:play-services-gcm:9.6.1'
compile 'com.google.android.gms:play-services-measurement:9.6.1'
compile 'com.github.liuguangqiang.swipeback:library:1.0.2@aar'
compile 'me.imid.swipebacklayout.lib:library:1.0.0'
compile 'com.github.2359media:EasyAndroidAnimations:0.8'
compile 'com.theartofdev.edmodo:android-image-cropper:2.0.+'
compile 'com.wang.avi:library:1.0.1'
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.mixpanel.android:mixpanel-android:4.6.4'
compile 'com.github.ppamorim:dragger:1.2'
compile 'io.reactivex:rxandroid:1.1.0'
compile 'io.reactivex:rxjava:1.1.3'
compile 'com.jakewharton.rxbinding:rxbinding:0.2.0'
// debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4-beta2'
// releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2'
compile 'com.bignerdranch.android:expandablerecyclerview:2.1.1'
compile 'com.android.support:multidex:1.0.1'
compile 'com.birbit:android-priority-jobqueue:2.0.0'
compile 'com.squareup:otto:1.3.8'
compile 'com.mikhaellopez:circularprogressbar:1.1.1'
compile 'com.github.dotloop:aosp-exif:be25ae51ec'
compile('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') {
exclude group: 'com.squareup.okhttp', module: 'okhttp'
transitive = true;
}
}
apply plugin: 'com.google.gms.google-services'
And this is the error I am getting:
Any help would be highly appreciated. Thanks.
Edit
My google play services is also updated.
Upvotes: 10
Views: 27709
Reputation: 11
Well sometime it happens when you are not connected to the internet. Connect to internet and rebuild your project and the error will be gone. Worked for me this way.
Upvotes: 1
Reputation: 1370
Today I had the same problem. This solved the problem for me:
Open the stand alone Android SDK Manager. In the Extras section the "Google Play Services" were at the latest version, but the "Google Repository" after updating the "Google Repository" from version 33 to 35, the problem was gone.
Upvotes: 5
Reputation: 3692
Finally, I solved it myself. Here is what I did:
compile 'com.google.android.gms:play-services-measurement:9.6.1'
and then compiled the projectmissing api_key error
because GCM
got shifted to Firebase
and so the google-services.json
file does not workgoogle-services.json
file with the new generated file which uses Cloud messaging from Firebase@drawable/powered_by_google_dark
is missing from the project as I am using Places Autocomplete API. To fix this, add compile 'com.google.android.gms:play-services-places:9.6.0'
to dependenciesUpvotes: 3
Reputation: 838
Set all play service dependencies to 9.6.0. 9.6.1 hasn't released yet. If the problem still occurs, install latest google play service and repository in your android studio.
Upvotes: 1
Reputation: 1370
You don't have the latest google play services, just click the link and android studio will offer a dialog to install it.
Upvotes: 3