之前筆者收到了 Google 寄來的信件,內容重點在於 July 29, 2019 之後就不再支援原本的 Library com.google.android.gms:play-services-places 。
所以就只好來研究新的 Library,官方提供兩個方案,一個是直接用新 Library,但是要變動的設置較多,另一個就是筆者今天要介紹的 Compatibility Library,適合原本就有使用 Google Places 開發的專案。
在 build.gradle 檔案裡面,將 implementation "com.google.android.gms:play-services-places:${google_play_version}" 取代為 implementation 'com.google.android.libraries.places:places-compat:1.1.0' 和 implementation 'com.google.j2objc:j2objc-annotations:1.1'
程式碼裡已經引用到的 package 名 com.google.android.gms.location.places.*; 都需改成 com.google.android.libraries.places.compat.*;
如果 App 有開啟 proguard 混淆,需要在專案的 proguard 設定檔案裡加上
如果是使用 dexguard 混淆,需要再多加上 -keepresourcexmlelements manifest/application/meta-data@value=GlideModule
就這麼簡單。