亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

android開發實踐之ndk編譯命令簡單示例

發布時間:2020-10-21 16:14:02 來源:腳本之家 閱讀:665 作者:愛因私談 欄目:移動開發

前言

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

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

ndk-build命令行參數

1、ndk-build NDK_LOG=1

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

2、ndk-build NDK_PROJECT_PATH=.

指定NDK編譯的代碼路徑為當前目錄,如果不配置,則必須把工程代碼放到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

清除所有編譯出來的臨時文件和目標文件

6、ndk-build -B

強制重新編譯已經編譯完成的代碼

7、ndk-build NDK_DEBUG=1

執行 debug build

8、ndk-build NDK_DEBUG=0

執行 release build

9、ndk-build NDK_OUT=./mydir

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

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

到指定目錄編譯native代碼

例:

編寫 .c 文件

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

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

編寫 Android.mk 文件,內容如下:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := dmath
LOCAL_SRC_FILES := math.c
include $(BUILD_SHARED_LIBRARY)

在 ~/math 目錄下,執行 ndk-build 命令,參數如下:

$ 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 指定了需要編譯的代碼的工程目錄,這里給出的是當前目錄,APP_BUILD_SCRIPT給出的是Android makefile文件的路徑,當然,如果你還有 Application.mk 文件的話,則可以添加NDK_APP_APPLICATION_MK=./Application.mk

執行完ndk-build命令后,你會發現當前目錄下,生成了 obj 和 libs 文件夾,這樣,你的libdmath.so動態庫就已經制作完成了,在 libs/armeabi 目錄下。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

运城市| 漳平市| 都江堰市| 沙田区| 临城县| 阿图什市| 新巴尔虎右旗| 郑州市| 赤城县| 波密县| 乐陵市| 阿克陶县| 林口县| 阿克| 大洼县| 镇雄县| 行唐县| 天等县| 德保县| 阳春市| 工布江达县| 怀安县| 尼勒克县| 香港| 嵊泗县| 恩施市| 鹤岗市| 高邮市| 嫩江县| 大港区| 安多县| 兰考县| 额济纳旗| 明水县| 岗巴县| 衡东县| 虎林市| 西吉县| 会理县| 西丰县| 武冈市|