支援資料庫設定

注意:隨著 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 Preference 支援資料庫v17 Leanback 程式庫,則 SDK 最低版本必須為 17 以上。