要爲您的應用編譯和調試原生代碼,您需要以下組件:
- Android 原生開發套件 (NDK):您可以利用這套工具在 Android 應用中使用 C 和 C++ 代碼。
- CMake:一款外部編譯工具,可與 Gradle 搭配使用來編譯原生庫。如果您只計劃使用 ndk-build,則不需要此組件。
- LLDB:Android Studio 用於調試原生代碼的調試程序。默認情況下,LLDB 將與 Android Studio 一起安裝。
本頁介紹瞭如何使用 Android Studio 或sdkmanager工具下載和安裝這些組件。
安裝 NDK 和 CMake
當您安裝 NDK 時,Android Studio 會選擇最新的 NDK。對於大多數項目,安裝此默認版本的 NDK 已經足夠。如果您的項目需要一個或多個特定版本的 NDK,您可以下載並配置特定版本。這樣做有助於確保在每個項目都依賴於特定版本的 NDK 的情況下,項目之間的編譯可重現。Android Studio 會將所有版本的 NDK 安裝到 android-sdk/ndk/
目錄中。
要在 Android Studio 中安裝 CMake 和默認 NDK,請執行以下操作:
-
打開項目後,依次點擊 Tools > SDK Manager。
-
點擊 SDK Tools 標籤頁。
-
選中 NDK (Side by side) 和 CMake 複選框。
注意:如果您在
ndk-bundle
文件夾中安裝了 NDK,它會顯示在標籤爲 NDK 的列表中。如果您使用的是 Android Gradle 插件 3.5.0 或更高版本,則可以選中或取消選中該複選框。取消選中該複選框會卸載 NDK,釋放磁盤空間,並使該複選框從列表中消失。如果您卸載舊版 NDK,請從項目的local.properties
文件中移除ndk.dir
值,該值現已棄用。 -
點擊 OK。
此時系統會顯示一個對話框,告訴您 NDK 軟件包占用了多少磁盤空間。
-
點擊 OK。
-
安裝完成後,點擊 Finish。
-
您的項目會自動同步編譯文件並執行編譯。修正發生的所有錯誤。
安裝特定版本的 NDK
要安裝特定版本的 NDK,請執行以下操作:
-
打開項目後,依次點擊 Tools > SDK Manager。
-
點擊 SDK Tools 標籤頁。
-
選中 Show Package Details 複選框。
-
選中 NDK (Side by side) 複選框及其下方與您要安裝的 NDK 版本對應的複選框。Android Studio 會將所有版本的 NDK 安裝到
android-sdk/ndk/
目錄中。注意:如果您在
ndk-bundle
文件夾中安裝了 NDK,它會顯示在標籤爲 NDK 的列表中。如果您使用的是 Gradle 3.5 版或更高版本,則可以選中或取消選中該複選框。取消選中該複選框會卸載已安裝的 NDK,釋放磁盤空間,並使複選框從列表中消失。如果您卸載舊版 NDK,請從項目的local.properties
文件中移除ndk.dir
值,該值現已棄用。 -
點擊 OK。
此時系統會顯示一個對話框,告訴您 NDK 軟件包占用了多少空間。
-
點擊 OK。
-
安裝完成後,點擊 Finish。
-
您的項目會自動同步編譯文件並執行編譯。修正發生的所有錯誤。
-
爲每個模塊配置要使用的 NDK 版本。使用 Android Studio 3.6 或更高版本時,如果您不指定版本,Android Gradle 插件會選擇已知兼容的版本。
從命令行安裝 NDK
要通過命令行安裝一個或多個版本的 NDK,請執行以下操作:
-
使用 sdkmanager 工具查看可用的 CMake 和 NDK 軟件包版本:
sdkmanager --list
-
向
sdkmanager
傳遞要安裝的軟件包的字符串。 例如,要安裝 CMake 和 NDK,請使用以下語法:sdkmanager --install "ndk;major.minor.build" "cmake;major.minor.micro.build"
-
爲項目中的每個模塊配置要使用的 NDK 版本。
在項目中配置特定版本的 NDK
如果您安裝特定版本的 NDK 並希望在模塊中使用它,請使用模塊的 build.gradle
文件中的 android.ndkVersion
屬性進行指定,如以下代碼示例所示。
android {
ndkVersion "major.minor.build"
}