【譯】NDK入門

翻譯自官網Getting Started with the NDKhtml

NDK入門

本地開發包(NDK)是一個能夠在安卓開發中使用C和C++代碼的一個工具集合,你可使用它提供的 平臺庫 來管理本地操做和訪問物理設備組件,例如傳感器和觸摸輸入。NDK不適合大多數新手Android程序員,他們只須要使用java代碼和Framework API來開發app。而後,若是你的狀況適合一下緣由,NDK將會變的很是有用。java

  • 設備發揮最大性能,以實現低延遲或運行計算密集型應用,如遊戲或物理模擬.
  • 重用本身或別人開發的C或C++庫.

使用Android Studio 2.2及以上版本,你可使用NDK把C和C++代碼編譯成一個本地庫,以及使用Gradle把本地庫打包到你的APK中,IDE集成了編譯系統。你的Java代碼經過Java本地接口(Jni)框架調用本地庫中的函數。要學習更多關於Gradle和Android編譯系統,閱讀構建配置android

Android Studio的默認編譯本地庫的工具是CMake。Android Studio也支持ndk-build ,由於大量已存在的項目使用了編譯工具包。然而,若是你是在新建立一個本地庫,你應該使用CMake.程序員

這個指南給你準備使用NDK以及在Android Studio上使用NDK並運行提供信息,若是你沒有最新版本的Android Studio,請如今下載並安裝.api

注意: 若是你不想使用 Android Studio,你能夠經過設置Eclipse使用NDK。然而,咱們建議遷移到最新版本Android Studio去支持安卓開發、Eclipse的ADT插件將再也不提供支持.oracle

實驗Gradle的用戶注意:請考慮使用 2.2.0版本插件或更高的版本,若是如下有任何一項適合你可使用CMake或ndk-build編譯你的本地庫:你的本地項目已經使用了CMake或ndk-build;你比較願意使用一個穩定版本的Gradle編譯系統;或者你想支持附加工具,如 CCache;不然,你能夠繼續使用實驗版本的Gradle以及Android插件 .app

下載NDK和工具


在APP中要編譯和調試本地代碼, 你須要如下組件:框架

  • Android本地開發包(NDK):容許在Androi中使用C和C++代碼的工具集.
  • CMake:一個外部構建工具, 與Gradle一塊兒構建你的本地庫
  • LLDB: 調試軟件, Android Studio 使用它來調試本地代碼.

你可使用You can install these components SDK Manager來安裝這些組件:eclipse

  1. 打開一個項目,在主菜單上依次選擇, select Tools > Android > SDK Manager
  2. 點擊 SDK Tools 標籤.
  3. 選中LLDB, CMake, and NDK, 旁邊的框,如圖一所示.

                                                                   圖 1. 從SDK Manager安裝 LLDB, CMake, 和 NDK.ide

  4. 點擊 Apply, 而後在下個對話框中點擊OK.
  5. 安裝完成後, 點擊 Finish, 而後點擊 OK.

建立或導入本地項目


一旦設置Android Studio後,你能夠簡單的建立一個支持C/C++的項目。然而,若是您要向現有的Android Studio項目添加或導入本地代碼,則須要遵循如下基本過程:

  1. 建立新的源文件 並將其添加到你的Android Studio項目。
    • 若是你已有本地代碼或想要導入預構建的本地庫,則能夠跳過此步驟。.
  2. 建立一個CMake構建腳本, 告訴CMake如何將你的本地源構建到庫中。 若是要導入並連接到預構建或平臺庫,則還須要此構建腳本。
    • 若是現有本地庫已有CMakeLists.txt構建腳本或使用ndk-build幷包含Android.mk構建腳本,則能夠跳過此步驟。
  3. 經過提供一個CMake或ndk-build腳本文件路徑連接Gradle到你的本地庫.

    注意: 若是現有項目使用已過期的ndkCompile工具,則應在配置Gradle使用CMake或ndk-build以前打開你的build.properties文件並刪除如下代碼行

    // Remove this line
    android
    .useDeprecatedNdk =true
  4. 單擊Run 構建和運行你的應用程序。Gradle添加你的CMake或ndk-build進程做爲依賴來編譯,構建和打包你的本機庫與你的APK.

一旦你的應用在物理設備或模擬器上運行,您就可使用Android Studio調試應用。 不然,要了解有關NDK及其組件的更多信息,請閱讀概述頁面.

相關文章
相關標籤/搜索