安裝並設定 NDK 和 CMake

如要編譯及偵錯應用程式的原生程式碼,您需要下列元件:

  • Android Native Development Kit (NDK):一組可搭配 Android 使用 C 和 C ++ 程式碼的工具。
  • CMake:與 Gradle 搭配使用的外部建構工具,可建構原生資料庫。如果您只打算使用 NDK 版本,則不需要這個元件。
  • LLDB:偵錯工具 Android Studio 用來偵錯原生程式碼。根據預設,LLDB 會與 Android Studio 一併安裝。

本資訊頁面說明如何自動安裝這些元件,或使用 Android Studio 或 sdkmanager 工具手動下載並安裝元件。

自動安裝 NDK 和 CMake

如果您的 Android Gradle Plugin 4.2.0 以上版本會自動安裝必要的 NDK 和 CMake,當您第一次建立專案時,請確認其授權是否已事先獲得同意。如果您已閱讀並同意授權條款,即可使用下列指令預先接受指令碼授權:

   yes | ${sdk}/cmdline-tools/latest/bin/sdkmanager --licenses

安裝 NDK 和 CMake

安裝 NDK 時,Android Studio 會選取最新的 NDK。大多數專案只需要安裝這個預設 NDK 版本即可。不過,如果您的專案需要一或多個指定 NDK 版本,您可以下載及設定指定版本。如此可確保各專案的可重現版本都能透過指定的 NDK 版本使用。Android Studio 會在 android-sdk/ndk/ 目錄中安裝所有 NDK 版本。

如要在 Android Studio 中安裝 CMake 和預設的 NDK,請按照下列步驟操作:

  1. 開啟專案,然後依序點選「Tools」>「SDK Manager」

  2. 按一下「SDK Tools」分頁標籤。

  3. 勾選 [NDK (並排)] 和 [CMake] 核取方塊。

    SDK Manager 圖片 圖 1:SDK 工具視窗顯示 NDK (並排) 選項

  4. 按一下 [確定]

    對話方塊會指出 NDK 套件在磁碟上的空間用量。

  5. 按一下 [確定]

  6. 安裝完成後,按一下「完成」

  7. 您的專案會自動同步處理建構檔案並執行建構作業。解決所有錯誤。

設定特定版本的 CMake

SDK Manager 包含 3.6.0 分支的 CMake 版本和 3.10.2 版,未設定特定 CMake 版本的專案皆使用 CMake 3.10.2 建構。如要設定 CMake 版本,請將下列內容新增到模組的 build.gradle 檔案中:

Groovy

android {
    ...
    externalNativeBuild {
        cmake {
            ...
            version "cmake-version"
        }
    }
}

Kotlin

android {
    ...
    externalNativeBuild {
        cmake {
            ...
            version = "cmake-version"
        }
    }
}

如要使用 SDK Manager 未包含的 CMake 版本,請按照下列步驟操作:

  1. 從官方 CMake 網站下載並安裝 CMake
  2. 指定您要 Gradle 在模組 build.gradle 檔案中使用的 CMake 版本。
  3. 請將 CMake 安裝路徑新增到 PATH 環境變數,或是加入專案的 local.properties 檔案 (如下所示)。如果 Gradle 找不到您在 build.gradle 檔案中指定的 CMake 版本,您就會收到建構錯誤。

    # If you set this property, Gradle no longer uses PATH to find CMake.
    cmake.dir = "path-to-cmake"</pre>
    
  4. 如果尚未在工作站中安裝 Ninja 建構系統,請前往官方 Ninja 網站,然後下載並安裝適用於您作業系統的最新版 Ninja。 請確定另外新增 Ninja 安裝路徑至您的 PATH 環境變數。

安裝特定版本的 NDK

如要安裝特定版本的 NDK,請按照下列步驟操作:

  1. 開啟專案,然後依序點選「Tools」>「SDK Manager」

  2. 按一下「SDK Tools」分頁標籤。

  3. 勾選 [Show Package Details] (顯示套件詳細資料) 核取方塊。

  4. 勾選 [NDK (並排)] 核取方塊,並勾選下方對應您要安裝 NDK 版本的核取方塊。Android Studio 會在 android-sdk/ndk/ 目錄中安裝所有 NDK 版本。

    SDK 工具視窗的圖片 圖 2:SDK 工具視窗顯示 NDK (並排) 選項

  5. 按一下 [確定]

    對話方塊會指出 NDK 套件會使用多少空間。

  6. 按一下 [確定]

  7. 安裝完成後,按一下「完成」

  8. 您的專案會自動同步處理建構檔案並執行建構作業。解決所有錯誤。

  9. 使用您要使用的 NDK 版本設定每個模組。使用 Android Studio 3.6 以上版本時,如果您未指定版本,Android Gradle 外掛程式會選擇已知的相容版本。

在專案中設定 NDK 的特定版本

如果發生以下任一情形,您可能需要在專案中設定 NDK 版本:

  • 您的專案會沿用,且必須使用特定版本的 NDK 和 Android Gradle 外掛程式 (AGP)。詳情請參閱為 Android Gradle 外掛程式設定 NDK
  • 您安裝了多個版本的 NDK,但想要使用特定版本。在這種情況下,請使用模組 build.gradle 檔案中的 android.ndkVersion 屬性來指定版本,如下列程式碼範例所示。

    Groovy

    android {
        ndkVersion "major.minor.build" // e.g.,  ndkVersion "21.3.6528147"
    }
    

    Kotlin

    android {
        ndkVersion = "major.minor.build" // e.g.,  ndkVersion "21.3.6528147"
    }
    

各 AGP 版本的預設 NDK 版本

在發布前,每個 AGP 版本都會使用最新穩定的 NDK 版本充分測試。若是 AGP 3.6 以上版本,如果您在 build.gradle 檔案中「不」指定 NDK 版本,該 NDK 版本將會用來建構您的專案。預設 NDK 版本記錄在 AGP 版本資訊中。目前的預設 NDK 版本如下表所示:

Android Studio/Gradle 外掛程式版本
7.0 4.2 4.1 4.0 3.6 3.5 3.4
針對 AGP 版本
指定的預設 NDK 版本
21.4.7075529 21.4.7075529 21.1.6352462 21.0.6113669 20.0.5594570 未指定預設值