支援資料庫設定

注意:隨著 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 以上。