NDK Build 用法
1、ndk-build的用法
Android NDKr4引入了一個新的、小巧的shell指令碼ndk-build,來簡化原始碼編譯。
該檔案位於NDK根目錄,進入你的工程根目錄或子目錄之後,在命令列下呼叫即可。例如:
cd $PROJECT
$NDK/ndk-build
NDK指向你的NDK的安裝目錄,PROJECT指向你的Android工程目錄。建議將ndk-build所在目錄加入PATH環境變數或設定alias。
2、ndk-build的選項
所有給ndk-build的選項都會直接傳給GNU Make,由make執行NDK的編譯指令碼。幾個常見呼叫方式如下:
ndk-build 編譯
ndk-build clean 清掉二進位制檔案
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。
3、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之間切換而重新編譯所有檔案。
4、ndk-build的使用條件
總體來說,必須安裝GNU Make 3.81 以上版本的make才能正常使用ndk-build和NDK。
5、ndk-build的實質
ndk-build 其實就是對GNU Make的封裝,它的目的是呼叫正確的NDK編譯指令碼,它等價於 make -f $NDK/build/core/build-local.mk [引數]
相關文章
- NDK buildUI
- How to Build ffmpeg with NDK r9UI
- Android NDK開發(二) 使用ndk-build構建工具進行NDK開發AndroidUI
- Android Studio 已有專案新增NDK支援(mac/ndk-build)AndroidMacUI
- ndk編譯C++,提示找不到標頭檔案(ndk-build error string No such file or directory)編譯C++UIError
- ndk-build 編譯多個CPU架構的動態連結庫UI編譯架構
- JNI學習筆記之ndk-build手動編譯並整合流程筆記UI編譯
- Android NDK開發之旅15 NDK Eclipse下NDK開發流程AndroidEclipse
- 三、Go語言基礎:go build命令用法及示例詳解GoUI
- NDK學習筆記-NDK開發流程筆記
- Andorid Studio NDK開發-使用NDK庫
- Android NDKAndroid
- Android NDK祕籍--初識NDK、JNI、Makefile/CMakeAndroid
- Android NDK開發之旅29 NDK FFmpeg視訊播放Android
- android ndk整合Android
- AndroidJNI和NDKAndroid
- Android NDK學習(2)Windows下NDK開發環境配置AndroidWindows開發環境
- Build CookbookUI
- NDK版本 下載地址
- NDK開發—增量更新
- Android NDK初識Android
- jni和ndk詳解
- NDK java的對映Java
- Andorid Studio NDK 開發 – NDK 開發利器 gradle-experimentalGradle
- Andorid Studio NDK 開發 - NDK 開發利器 gradle-experimentalGradle
- NDK 知識梳理(1) 使用 CMake 進行 NDK 開發之初體驗
- DDK中"checked build"和"free build" 之區別UI
- Ndk 初步開發 In AndroidAndroid
- NDK開發趟坑之旅
- 下載舊版本的NDK
- Android NDK學習(2)Android
- Android NDK學習(1)Android
- android NDK 交叉編譯Android編譯
- cygwin下ndk編譯protobuf編譯
- Build mysql replicationUIMySql
- ubuntu Realsense buildUbuntuUI
- Flutter雜症( flutter packages pub run build_runner build )FlutterPackageUI
- 【譯】Android NDK API 規範AndroidAPI