首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Eclipse Android 專案升級 API Level 後大量報錯:廢棄 API 遷移指南

     編輯:程式設計疑難解答

現象描述

導入舊專案(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 / AndroidX
  • HttpClient (org.apache.http) 完全移除 → HttpURLConnection / OkHttp / Retrofit
  • Notification.Builder 參數變更、PendingIntent Flag 變更
  • AsyncTask 棄用 → 協程 / RxJava / ExecutorService
  • 權限模型:API 23+ 運行時權限,AndroidManifest.xml 聲明不再足夠。

系統遷移步驟

  1. 逐個錯誤點擊 → 查看官方遷移指南:Android Studio / Eclipse 錯誤提示通常給出替代類/方法名。
  2. 引入 AndroidX / Jetpack:build.gradle 添加 androidx.appcompat:appcompat、androidx.fragment:fragment 等,將 android.support.* 批量替換為 androidx.*(AS: Refactor → Migrate to AndroidX)。
  3. 網絡層重寫:移除 HttpClient 依賴,改用 OkHttp + Retrofit 或標準 HttpURLConnection。
  4. 適配運行時權限:checkSelfPermission / requestPermissions + 回調處理。
  5. 清理編譯緩存:Project → Clean、gradle clean、刪除 .gradle build 目錄。

建議策略

  • **增量遷移**:先將 compileSdkVersion 升至 28/29,修復報錯;再逐步升至 33/34,每級修復一次,風險可控。
  • **直接遷移至 Android Studio + Gradle**:Eclipse ADT 早已停止維護,新版 SDK/Build Tools 在 Eclipse 下配置極其痛苦。AS 內建遷移向導、Lint 檢查、重構工具,效率高數倍。

API 升級報錯本質是「舊代碼不符合新平台契約」,按錯誤列表逐個替換廢棄 API,配合 AndroidX 遷移,即可平滑過渡。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved