如要編譯及偵錯應用程式的原生程式碼,您需要下列元件:
- 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 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 Tools」視窗顯示「NDK (Side by side)」選項
按一下「OK」。
對話方塊會指出 NDK 套件在磁碟上的空間用量。
按一下「OK」。
安裝完成後,按一下「Finish」。
您的專案會自動同步處理建構檔案並執行建構作業。解決所有發生的錯誤。
設定特定版本的 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 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 版本,系統會使用這個 NDK 版本來建構專案。AGP 版本資訊和 AGP 過往版本資訊中,均有記載不同 AGP 版本的預設 NDK 版本。