본문 바로가기
Tips/Errors

[Android] FCM적용시 NotificationCompat.Builder cannot be applied to (Context, java.lang.string)

by 오늘의개발부 2020. 2. 27.
반응형

구버전 안드로이드 앱을 버전업 해야하는 상황이 발생했다. 버전업을 하고나니 FCM이 안온다. 구글링해보니 안드로이드 Oreo를 기점으로 FCM 관련 소스가 바뀐 것. 친절히 잘 설명해주신 글을 보고 찬찬히 해결해 나갔다. (https://black-jin0427.tistory.com/20)

 

문제는 내가 갖고있던 안드로이드 버전이 낮아서 소스의 디펜던시와 맞지 않아

 

FcmService.jsva

이런 오류를 뱉고 있다는 것..

 

오늘자 시점으로 compileSdkVersion이 적어도 28은 되야하기에 app의 compileSdkVersion 값을 28로 바꾸면 아래와 같이 디펜던시 오류가 발생한다.

app

디펜던시를 이렇게 바꾸어주었다.

dependencies {
  implementation fileTree(include: ['*.jar'], dir: 'libs')
  testImplementation 'junit:junit:4.12'
  implementation 'com.android.support:appcompat-v7:28.0.0'
  implementation 'com.android.support:design:28.0.0'
  implementation 'com.android.support:support-v4:28.0.0'
  implementation 'com.android.support:support-media-compat:28.0.0'
  implementation 'com.android.support:animated-vector-drawable:28.0.0'
  implementation 'com.android.support:customtabs:28.0.0'
  implementation 'com.squareup.retrofit2:retrofit:2.1.0'
  implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
  implementation 'org.apache.commons:commons-lang3:3.4@jar'
  implementation 'com.google.firebase:firebase-messaging:10.2.1'
}

 

디펜던시를 바꾸고나서 Build - Clean Project를 클릭해주면 아래처럼 뭔가를 열심히 받아온다.

Dependency Sync

 

빌드가 완료되는 시점에 오류도 짜잔~

사라졌다.

반응형