Google Play Services IncompatibleClassChangeError
- Kán Chúgiâu
- Technical
- April 4, 2018
之前工作在接第三方登入 SDK 時,遇到 GoogleApiClient.connect()' was expected to be of type interface but was found to be virtual
這個錯誤。
原因
查一查發現是第三方登入 SDK 使用的 Google Play Services 是 7.8.* 以下的版本,而我是引用 8.* 以上的版本。
Google Play Services Android SDK 的 GoogleApiClient
自 8.1 版(2015/08)開始是 abstract class,在此之前是 interface。
解決方法
兩種解決方法。
一是請對方升級 Google Play Services 程式庫,
二是專案的 com.google.android.gms:play-services
只能用 7.8.0。
後來我們是採用方法一,而對方開發者也知道引用的 Google Play Services SDK 太舊要處理,所以都順便解決了,至少升到 8.4.0。