如要編譯及偵錯應用程式的原生程式碼,您需要下列元件:
- 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,請按照下列步驟操作:
開啟專案,然後依序點選「Tools」>「SDK Manager」。
按一下「SDK Tools」分頁標籤。
勾選 [NDK (並排)] 和 [CMake] 核取方塊。
圖 1:SDK 工具視窗顯示 NDK (並排) 選項
按一下 [確定]。
對話方塊會指出 NDK 套件在磁碟上的空間用量。
按一下 [確定]。
安裝完成後,按一下「完成」。
您的專案會自動同步處理建構檔案並執行建構作業。解決所有錯誤。
設定特定版本的 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 版本,請按照下列步驟操作:
- 從官方 CMake 網站下載並安裝 CMake。
- 指定您要 Gradle 在模組
build.gradle
檔案中使用的 CMake 版本。 請將 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>
如果尚未在工作站中安裝 Ninja 建構系統,請前往官方 Ninja 網站,然後下載並安裝適用於您作業系統的最新版 Ninja。 請確定另外新增 Ninja 安裝路徑至您的
PATH
環境變數。
安裝特定版本的 NDK
如要安裝特定版本的 NDK,請按照下列步驟操作:
開啟專案,然後依序點選「Tools」>「SDK Manager」。
按一下「SDK Tools」分頁標籤。
勾選 [Show Package Details] (顯示套件詳細資料) 核取方塊。
勾選 [NDK (並排)] 核取方塊,並勾選下方對應您要安裝 NDK 版本的核取方塊。Android Studio 會在
android-sdk/ndk/
目錄中安裝所有 NDK 版本。圖 2:SDK 工具視窗顯示 NDK (並排) 選項
按一下 [確定]。
對話方塊會指出 NDK 套件會使用多少空間。
按一下 [確定]。
安裝完成後,按一下「完成」。
您的專案會自動同步處理建構檔案並執行建構作業。解決所有錯誤。
使用您要使用的 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 | 未指定預設值 |