NDK Build 用法(NDK Build)

一、ndk-build的用法

Android NDKr4引入了一個新的、小巧的shell腳本ndk-build,來簡化源碼編譯。android

該文件位於NDK根目錄,進入你的工程根目錄或子目錄以後,在命令行下調用便可。例如:shell

    cd $PROJECTapp

    $NDK/ndk-build工具

NDK指向你的NDK的安裝目錄,PROJECT指向你的Android工程目錄。建議將ndk-build所在目錄加入PATH環境變量或設置alias。ui

二、ndk-build的選項

全部給ndk-build的選項都會直接傳給GNU Make,由make運行NDK的編譯腳本。幾個常見調用方式以下:.net

ndk-build                   編譯命令行

ndk-build clean          清掉二進制文件debug

ndk-build NDK_DEBUG=1     編譯爲可調試版的二進制文件調試

ndk-build NDK_DEBUG=0     編譯爲release版日誌

ndk-build V=1                       執行ndk-build且打印出它所執行的詳細編譯命令。

ndk-build -B                          強制從新編譯

ndk-build -B V=1                   -B 和 V=1 的組合

ndk-build NDK_LOG=1          打印出內部的NDK日誌信息(用於調試NDK本身)

ndk-build NDK_APP_APPLICATION_MK=<文件路徑>      用這裏指定的路徑尋找Application.mk文件

ndk-build -C <project路徑>  先cd進入<project路徑>,而後執行ndk-build。

三、Debug版本 Vs Release版本

在NDKr5中,ndk-build作了一些改進,使得在release和debug之間切換更容易了。即經過 NDK_DEBUG 變量:

ndk-build NDK_DEBUG=1    編譯出的共享庫帶調試信息,是debug版本

ndk-build NDK_DEBUG=0    編譯出的共享庫不帶調試信息,是release版本

若是沒有指定NDK_DEBUG,則會從 AndroidManifest.xml中獲取(查看 <application> 元素是否有 android:debuggable="true")。

注意:若是你的SDK是SDKr8或更高,徹底不須要修改AndroidManifest.xml。由於若是你想編譯出debug版安裝包(在命令行下執行 ant debug或用ADT),SDK的工具會自動選擇用NDK_DEBUG=1編譯出的共享庫。NDK編譯出的debug版和release版的object文件存放在不一樣的目錄(例如 obj/local/<abi>/objs 和 obj/local/<abi>/objs-debug),避免了在release和debug之間切換而從新編譯全部文件。

四、ndk-build的使用條件

整體來講,必須安裝GNU Make 3.81 以上版本的make才能正常使用ndk-build和NDK。

 

五、ndk-build的實質

ndk-build 其實就是對GNU Make的封裝,它的目的是調用正確的NDK編譯腳本,它等價於 make -f $NDK/build/core/build-local.mk [參數]

相關文章
相關標籤/搜索