FCM 안드로이드 앱을 만드는 중에 아래와 같은 에러가 발생하는 원인과 해결책


가정하기를 

 -. 패키지명 : com.example.joe.exfcmtest

 -. com.google.firebase.messaging.FirebaseMessagingService를 상속받을 클래스가 MyFirebaseMessagingService라고 할때


이러한 상황가운데서 아래와 같은 에러를 만난다면 


'com.example.joe.exfcmtest.MyFirebaseMessagingService' is not assignable to 'android.app.Service' less... (Ctrl+F1) 

Validates resource references inside Android XML files.


앱 수준의 build.gradle(프로젝트 수준의 build.gradle이 아님)에서 필요한 아래의 dependencies가 빠져 있어서의 문제다.


compile 'com.google.firebase:firebase-messaging:12.0.1'  (버전은 현재의 최신 버전과 다를수 있음)


이 문제는 참으로 황당하게도 구글의 Firebase SDK 추가에 대한 설명 자체에서 빼먹고 제시해 주지 않음으로 인해 만나게되는 황당한 에러이다.

Firebase 콘솔에서 제시한 대로 따라하다보면 아래 이미지에서 보듯이 compile 'com.google.firebase:firebase-messaging:12.0.1'를 포함시키라는 설명이 전혀 없다. 나쁜...




이로인해 Manifest 파일의 com.google.firebase.messaging.FirebaseMessagingService를 상속받을 Service 클래스에 대해 아래 그림과 같은 에러가 발생한다.


        <service android:name=".MyFirebaseMessagingService">

            <intent-filter>

                <action android:name="com.google.firebase.MESSAGING_EVENT" />

            </intent-filter>

        </service>




그리고 다음 에러




이 문제를 해결할려면 아래 그림에서 보는바와 같이 앱 수준의 build.gradle




compile 'com.google.firebase:firebase-messaging:12.0.1'를 dependencies에 포함시켜야 된다.




안드로이드는 너무 자주, 많이 바뀌는 통에...



+ Recent posts