支援資料庫設定

注意:Android 9.0 (API 級別 28) 推出後,我們推出了名為 AndroidX 的新版支援資料庫,屬於 Jetpack 的一部分。AndroidX 程式庫包含現有的支援資料庫,同時也包含最新的 Jetpack 元件。

您可以繼續使用支援資料庫。 歷史構件 (27 以下版本,並封裝為 android.support.* 的版本) 仍會保留在 Google Maven。不過,所有新的程式庫開發作業都會在 AndroidX 程式庫中執行。

建議您在所有新專案中使用 AndroidX 程式庫。此外,您也應考慮將現有專案遷移至 AndroidX。

在開發專案中設定 Android 支援資料庫的方式,取決於您要使用的功能,以及您希望應用程式支援的 Android 平台版本範圍。

本文件將引導您下載支援資料庫套件,並將程式庫新增至開發環境。

支援程式庫現已透過 Google 的 Maven 存放區提供。我們不再支援透過 SDK Manager 下載程式庫,並將在近期內移除該功能。

選擇支援資料庫

在應用程式中新增支援資料庫之前,請先決定要包含的功能,以及要支援的最低 Android 版本。如要進一步瞭解不同程式庫提供的功能,請參閱「支援程式庫功能」。

新增支援資料庫

如要使用支援資料庫,您必須在開發環境中修改應用程式專案的類別路徑依附元件。您必須為要使用的每個支援資料庫執行這項程序。

如何在應用程式專案中新增支援資料庫:

  1. 在專案的 settings.gradle 檔案中加入 Google 的 Maven 存放區。
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
    
            // If you're using a version of Gradle lower than 4.1, you must
            // instead use:
            //
            // maven {
            //     url 'https://maven.google.com'
            // }
        }
    }
    
  2. 針對您要使用的支援資料庫的每個模組,將程式庫新增至模組 build.gradle 檔案的 dependencies 區塊中。舉例來說,如要新增 v4 core-utils 程式庫,請新增以下內容:
    dependencies {
        ...
        implementation "com.android.support:support-core-utils:28.0.0"
    }
    

注意:使用動態依附元件 (例如 palette-v7:23.0.+) 可能會導致非預期的版本更新和迴歸不相容的問題。建議您明確指定程式庫版本 (例如 palette-v7:28.0.0)。

使用支援資料庫 API

為現有架構 API 提供支援的支援資料庫類別,通常與架構類別的名稱相同,但位於 android.support 類別套件中,或含有 *Compat 後置字串。

注意:使用支援資料庫的類別時,請務必從適當套件匯入類別。舉例來說,套用 ActionBar 類別時:

  • android.support.v7.app.ActionBar
  • android.app.ActionBar (僅針對 API 級別 11 或以上版本進行開發)。

注意:在應用程式專案中加入支援資料庫後,我們強烈建議您縮減、模糊處理及最佳化應用程式,以便進行發布。縮減功能除了會以模糊處理來保護原始碼外,也能從您加入應用程式的所有程式庫中移除未使用的類別,盡可能縮減應用程式的下載大小。

如需使用部分支援資料庫功能的進一步指引,請參閱 Android 開發人員訓練課程指南和範例。如要進一步瞭解個別支援資料庫類別和方法,請參閱 API 參考資料中的 android.support 套件。

資訊清單宣告變更

如果您要使用支援資料庫,將現有應用程式的回溯相容性提升至舊版 Android API,請務必更新應用程式的資訊清單。具體來說,您應將資訊清單中 <uses-sdk> 標記的 android:minSdkVersion 元素更新為較低的版本號碼,如下所示:

  <uses-sdk
      android:minSdkVersion="14"
      android:targetSdkVersion="23" />

資訊清單設定會告知 Google Play,您的應用程式可在搭載 Android 4.0 (API 級別 14) 以上版本的裝置上安裝。

如果您使用的是 Gradle 建構檔案,建構檔案中的 minSdkVersion 設定會覆寫資訊清單設定。

plugins {
  id 'com.android.application'
}

android {
    ...

    defaultConfig {
        minSdkVersion 16
        ...
    }
    ...
}

在此情況下,建構檔案設定會告知 Google Play,您可以在搭載 Android 4.1 (API 級別 16) 以上版本的裝置上安裝應用程式的預設建構變化版本。如要進一步瞭解建構變數,請參閱「建構系統總覽」一文。

注意:如果您納入多個支援資料庫,最低 SDK 版本必須是任一指定程式庫要求的「最高」版本。舉例來說,如果您的應用程式同時含有 v14 偏好設定支援資料庫v17 Leanback 程式庫,則最低 SDK 版本必須為 17 以上。