支援資料庫設定

注意:隨著 Android 9.0 (API 級別 28) 推出,我們已推出名為 AndroidX 的新版支援資料庫 Jetpack。AndroidX 程式庫包含現有的支援資料庫,以及最新的 Jetpack 元件。

您可以繼續使用支援資料庫。您還是可以在 Google Maven 存取過往構件 (版本 27 以下版本,且封裝為 android.support.*)。不過,所有新的程式庫開發作業都會在 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 以上。