如要編譯及偵錯應用程式的原生程式碼,您需要下列元件:
- Android Native Development Kit (NDK):一組可搭配 Android 使用 C 和 C ++ 程式碼的工具。
- CMake:與 Gradle 搭配使用的外部建構工具,可建構原生資料庫。如果您只打算使用 ndk-build,就不需要這個元件。
- LLDB:Android Studio 用來偵錯原生程式碼的偵錯工具。根據預設,LLDB 會與 Android Studio 一併安裝。
本資訊頁面說明如何自動安裝這些元件,或使用 Android Studio 或 sdkmanager 工具手動下載並安裝元件。
自動安裝 NDK 和 CMake
如果您事前已取得 NDK 和 CMake 的授權,則 Android Gradle 外掛程式 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 Tools」視窗顯示「NDK (Side by side)」選項按一下「OK」。
對話方塊會指出 NDK 套件在磁碟上的空間用量。
按一下「OK」。
安裝完成後,按一下「Finish」。
專案會自動同步處理建構檔案並執行建構作業。解決所有發生的錯誤。
設定特定版本的 CMake
SDK 管理工具包含 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。
- 在模組的
build.gradle檔案中,指定要 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 Tools」視窗顯示「NDK (Side by side)」選項按一下「OK」。
對話方塊會指出 NDK 套件會使用多少空間。
按一下「OK」。
安裝完成後,按一下「Finish」。
專案會自動同步處理建構檔案並執行建構作業。解決所有發生的錯誤。
使用您要使用的 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 版本充分測試。如果您未在 build.gradle 檔案中指定 NDK 版本,系統就會使用這個版本建構專案。不同 AGP 版本的預設 NDK 版本記錄在 AGP 版本資訊和 AGP 過往版本資訊中。