"Firebase API initialization failure." 오류 발생시 대응 방법

2016. 10. 27. 13:17안드로이드 개발

이번에 바뀐 Firebase cloud message 방식으로 안드로이드 앱을 빌드하다가 계속 오류가 발생해서 도대체 뭐가 문제인지 헤메다가 결국, apply:plugin의 위치가 틀렸다는 것을 알게 되었다. 허무!


dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.1'
testCompile 'junit:junit:4.12'
compile 'com.google.android.gms:play-services:9.4.0'
compile "com.google.android.gms:play-services-gcm:9.4.0"
compile 'com.google.firebase:firebase-core:9.4.0'
compile 'com.google.firebase:firebase-messaging:9.4.0'
compile 'com.google.firebase:firebase-database:9.4.0'
compile 'com.google.firebase:firebase-auth:9.4.0'
compile 'com.google.firebase:firebase-config:9.4.0'
}

apply plugin: 'com.google.gms.google-services'

http://xepushapp.com/board_SbEm14/10605

분명히 참고한 레퍼런스에서도 아래쪽에 기재하라고 했는데, 왜 그런 것은 꼭 잘 안보이는 걸까.


"apply plugin:'com.google.gms.google-services'를 맨위에서 2번째 줄에 넣고, play-services나 firebase의 버전을 9.4.0으로 기재하면 자꾸 9.0.0으로 변경하라는 오류가 뜬다.

http://stackoverflow.com/questions/38127053/google-play-services-gcm-9-2-0-asks-to-update-back-to-9-0-0


그 상태에서 빌드하고 앱을 실행하면 "Firebase API initialization failure."이라고 에러가 뜨면서 device token을 가져오지 못하게 된다.

https://github.com/firebase/quickstart-android/issues/24


늘 그렇듯이 정말 사소한 것 때문에 쓸데없는 고생을 했다.