国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

android開發(fā)實踐之ndk編譯命令簡單示例

2019-12-12 02:37:30
字體:
供稿:網(wǎng)友

前言

Android提供了NDK工具,用來編譯native代碼(c/c++),該工具配置好了相關(guān)的交叉編譯環(huán)境和工具鏈,只需要你簡單地編寫幾個.mk文件即可將你的c/c++代碼編譯為Android的java工程/Android手機可以識別、加載和運行的庫或者應(yīng)用程序。

默認(rèn)情況下,使用NDK編譯c/c++代碼,需要將該代碼放置到任一個Android應(yīng)用工程的jni目錄下,然后編寫相應(yīng)的Android.mk文件,并執(zhí)行ndk-build命令完成編譯。其實你也是可以在任意目錄下去編譯native代碼的,只需要在ndk-build命令后面添加相應(yīng)的命令行參數(shù)即可,這里給出一些常用的ndk-build命令行參數(shù),方便大家靈活地使用NDK編譯自己的native代碼,具體的示例我將會在后續(xù)的文章中給出。

ndk-build命令行參數(shù)

1、ndk-build NDK_LOG=1

用于配置LOG級別,打印ndk編譯時的詳細輸出信息

2、ndk-build NDK_PROJECT_PATH=.

指定NDK編譯的代碼路徑為當(dāng)前目錄,如果不配置,則必須把工程代碼放到Android工程的jni目錄下

3、ndk-build APP_BUILD_SCRIPT=./Android.mk

指定NDK編譯使用的Android.mk文件

4、ndk-build NDK_APPLICATION_MK=./Application.mk

指定NDK編譯使用的application.mk文件

5、ndk-build clean

清除所有編譯出來的臨時文件和目標(biāo)文件

6、ndk-build -B

強制重新編譯已經(jīng)編譯完成的代碼

7、ndk-build NDK_DEBUG=1

執(zhí)行 debug build

8、ndk-build NDK_DEBUG=0

執(zhí)行 release build

9、ndk-build NDK_OUT=./mydir

指定編譯生成的文件的存放位置

10、ndk-build -C /opt/myTest/

到指定目錄編譯native代碼

例:

編寫 .c 文件

假設(shè)你在 ~/math 目錄下編寫了一個 math.c 文件,內(nèi)容如下:

#include <stdio.h>int add( int a , int b ) {return a+b;}

編寫 Android.mk 文件,內(nèi)容如下:

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := dmathLOCAL_SRC_FILES := math.cinclude $(BUILD_SHARED_LIBRARY)

在 ~/math 目錄下,執(zhí)行 ndk-build 命令,參數(shù)如下:

$ ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk

或:

ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk NDK_APPLICATION_MK=./Application.mk

NDK_PROJECT_PATH 指定了需要編譯的代碼的工程目錄,這里給出的是當(dāng)前目錄,APP_BUILD_SCRIPT給出的是Android makefile文件的路徑,當(dāng)然,如果你還有 Application.mk 文件的話,則可以添加NDK_APP_APPLICATION_MK=./Application.mk

執(zhí)行完ndk-build命令后,你會發(fā)現(xiàn)當(dāng)前目錄下,生成了 obj 和 libs 文件夾,這樣,你的libdmath.so動態(tài)庫就已經(jīng)制作完成了,在 libs/armeabi 目錄下。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對武林網(wǎng)的支持。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 定襄县| 梓潼县| 大同县| 察哈| 榆中县| 商丘市| 吉隆县| 郸城县| 宜君县| 安平县| 东阳市| 新津县| 遂宁市| 光泽县| 修水县| 南汇区| 安平县| 长宁县| 汤阴县| 公主岭市| 台安县| 内丘县| 定安县| 密山市| 永宁县| 桐柏县| 承德县| 宣恩县| 武义县| 日土县| 平陆县| 九江市| 南雄市| 铜川市| 雅江县| 南陵县| 桑日县| 通州市| 陆川县| 乌兰浩特市| 辽宁省|