專案引用舊版 Google Play Services API(GooglePlayServicesClient、PlusClient 等),編譯報錯:cannot find symbol、package does not exist、method does not override。錯誤堆疊指向 PlusbaseActivity.java 多行。
GooglePlayServicesClient、PlusClient 等類已在 Google Play Services 6.5+ (2014 年) 中棄用並移除,現代 SDK 僅保留 GoogleApiClient 及後續的 GoogleSignInClient 等新版 API。專案代碼停留在舊版本,與當前 SDK 不兼容。
有開發者反饋「斷網打開 Android Studio 即可解決」。原理可能是:離線模式下 Gradle 使用本地緩存的舊版依賴(如 play-services-6.5.aar),繞過了遠端倉庫解析最新版的過程。但這只是掩耳盜鈴,強烈不推薦用於生產環境,會導致功能缺失、安全漏洞。
build.gradle 中引入最新 com.google.android.gms:play-services-auth、play-services-base 等模組化庫。PlusClient 遷移至 GoogleSignInClient(參考 官方指南)。Task/ResultCallback,無需繼承特定 Activity 基類,解耦更徹底。GooglePlayServicesClient、PlusClient 相關導入與實現。compileSdkVersion ≥ 33google-services 插件版本 ≥ 4.3.15build.gradle 含 google() 倉庫./gradlew clean build --refresh-dependencies 無錯誤拒絕「玄學斷網」,擁抱模組化、現代化的 Google Play Services API,才是長久之計。