導入舊專案(Target API 10 / Android 2.3),將 Build Target 改為 API 22 (Android 5.1) 後,大量紅錯,截圖顯示方法找不到、類不存在等。
Android SDK 版本演進中,**大量 API 被標記 @Deprecated 並最終移除**。典型變更包括:
ActionBarActivity → AppCompatActivity (v7 AppCompat)FragmentActivity、ListActivity 等遷移至 Support Library / AndroidXHttpClient (org.apache.http) 完全移除 → HttpURLConnection / OkHttp / RetrofitNotification.Builder 參數變更、PendingIntent Flag 變更AsyncTask 棄用 → 協程 / RxJava / ExecutorServiceAndroidManifest.xml 聲明不再足夠。build.gradle 添加 androidx.appcompat:appcompat、androidx.fragment:fragment 等,將 android.support.* 批量替換為 androidx.*(AS: Refactor → Migrate to AndroidX)。HttpClient 依賴,改用 OkHttp + Retrofit 或標準 HttpURLConnection。checkSelfPermission / requestPermissions + 回調處理。Project → Clean、gradle clean、刪除 .gradle build 目錄。compileSdkVersion 升至 28/29,修復報錯;再逐步升至 33/34,每級修復一次,風險可控。API 升級報錯本質是「舊代碼不符合新平台契約」,按錯誤列表逐個替換廢棄 API,配合 AndroidX 遷移,即可平滑過渡。