일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- ReactiveX
- 성공
- 9498
- JSON
- retrolambda
- Season3
- DIABLO4
- gradle
- 리소스 자동화
- Android Support Library
- android weekly
- 분류
- 구현
- Kulle
- android resource automation
- RX
- 안드로이드 리소스
- AndroidWeek
- MVP
- 안드로이드
- rxandroid
- Connectable Observable Operators
- parser
- 디버그
- 백준
- Android
- logansquare
- Observable
- RXjava
- Today
- Total
안드로이드 개발 팁 블로그
com.google.android.gms:play-services-ads:17.0.0 Update 시 주의점 본문
안드로이드 admob 라이브러리가 17.0.0으로 업데이트 되었습니다.
https://developers.google.com/admob/android/rel-notes
기존에 사용하고 있던 앱에 build.gradle을 수정 하면서 경험한 몇가지 주의점을 적어 봅니다.
버전 업데이트를 할 겸 기존에 사용하고 있던 라이브러리들도 다 같이 버전을 올렸습니다.
기존 사용 버전
implementation 'com.google.firebase:firebase-core:16.0.3' implementation 'com.google.firebase:firebase-messaging:17.3.2' implementation 'com.google.firebase:firebase-perf:16.1.0' implementation 'com.google.firebase:firebase-ads:15.0.1
업데이트한 버전
implementation 'com.google.firebase:firebase-core:16.0.4' implementation 'com.google.firebase:firebase-messaging:17.3.3' implementation 'com.google.firebase:firebase-perf:16.1.2' implementation 'com.google.firebase:firebase-ads:17.0.0'
Sync를 누르면
Failed to notify dependency resolution listener.
The library com.google.android.gms:play-services-base is being requested by various other libraries at [[15.0.1,15.0.1]], but resolves to 16.0.1. Disable the plugin and check your dependencies tree using ./gradlew :app:dependencies.
[버전이 다른 라이브러리가 쓰였다. 라는 오류]
역시 기대했던 대로 한방에 되는 일이 별로 없군요. -_ㅠ
gradle 설정 파일이 정상적이지 않으면 gradlew로 디펜던시 트리를 확인 할 수가 없습니다.
일일히 추가 된 라이브러리를 주석 처리하거나 기존에 정상적으로 컴파일이 된 것을 보고 일일 해보는 수밖게...ㅜㅜ
원인은 같이 사용하고 있던 firebase-ui-firestore 라이브러리가 문제 였습니다.
firebase-ui-firestore:4.2.0
ㄴ com.google.firebase » firebase-firestore:17.1.0
ㄴ com.google.android.gms » play-services-base:15.0.1
기존에 4.1 버전을 사용하다가 4.2로 같이 최신으로 업데이트를 했으나 참조되는 라이브러리가 15.0.1이였던 것..-_ㅠ
아래와 같이 firebase-ui에서 참조하고 있는 firebase관련 라이브러리를 최신으로 추가하여 오버 라이딩 해줍니다.
implementation group: 'com.google.firebase', name: 'firebase-firestore', version: '17.1.1' implementation group: 'com.google.firebase', name: 'firebase-auth', version: '16.0.4' implementation group: 'com.google.firebase', name: 'firebase-storage', version: '16.0.3'
그리고 싱크하면 그레들 파일은 정상적으로 컴파일 됩니다.
앱을 실행하면 강제 종료 당하면서 콘솔 창에 아래와 같이 출력 됩니다.
java.lang.RuntimeException: Unable to get provider com.google.android.gms.ads.MobileAdsInitProvider: java.lang.IllegalStateException:
******************************************************************************
* The Google Mobile Ads SDK was initialized incorrectly. AdMob publishers *
* should follow the instructions here: https://goo.gl/fQ2neu to add a valid *
* App ID inside the AndroidManifest. Google Ad Manager publishers should *
* follow instructions here: https://goo.gl/h17b6x. *
******************************************************************************
17버전으로 업데이트 하면서 메니페스트 파일이 반드시 메타데이터를 넣도록 수정되었습니다.
https://developers.google.com/admob/android/quick-start#update_your_androidmanifestxml
<manifest>
<application>
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="[ADMOB_APP_ID]"/>
</application>
</manifest>
위와 같이 애드몹의 앱 id를 넣도록 강제 되었습니다. -_ㅠ
부디 테스트 후에 배포 하시기 바랍니다.
'Android Tip' 카테고리의 다른 글
JCenter 지원 중단 및 서비스 종료 (0) | 2021.04.09 |
---|---|
android api20 이하에서 verctor Tint 사용하기 정리 (0) | 2018.07.22 |
android studio 3.2 CANARY 14 androidx refactoring. (0) | 2018.05.16 |
Android언어 리소스 자동화 (2018.4 수정) (15) | 2018.04.20 |
안드로이드 스튜디오 단축키 서포트 플러그인 -Key Promoter X Plugin (1) | 2017.09.22 |