欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

android開發(fā)實(shí)踐之ndk編譯命令簡(jiǎn)單示例

 更新時(shí)間:2017年06月22日 14:18:55   作者:愛因私談  
這篇文章主要給大家介紹了在android中ndk編譯命令使用的相關(guān)資料,文中詳細(xì)介紹了ndk-build命令行參數(shù),并通過簡(jiǎn)單的示例代碼給大家介紹了如何編寫 .c 文件,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

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

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

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

1、ndk-build NDK_LOG=1

用于配置LOG級(jí)別,打印ndk編譯時(shí)的詳細(xì)輸出信息

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

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

6、ndk-build -B

強(qiáng)制重新編譯已經(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 目錄下編寫了一個(gè) 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 := dmath
LOCAL_SRC_FILES := math.c
include $(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命令后,你會(huì)發(fā)現(xiàn)當(dāng)前目錄下,生成了 obj 和 libs 文件夾,這樣,你的libdmath.so動(dòng)態(tài)庫就已經(jīng)制作完成了,在 libs/armeabi 目錄下。

總結(jié)

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

相關(guān)文章

  • Android自定義控件之小說書架實(shí)現(xiàn)示例詳解

    Android自定義控件之小說書架實(shí)現(xiàn)示例詳解

    這篇文章主要為大家介紹了Android自定義控件之小說書架示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪方法
    2023-04-04
  • Android入門之畫圖詳解

    Android入門之畫圖詳解

    這篇文章主要介紹了Android入門之畫圖,對(duì)Android初學(xué)者有很好的學(xué)習(xí)借鑒價(jià)值,需要的朋友可以參考下
    2014-08-08
  • Android pdf viewer在android studio應(yīng)用問題說明詳解

    Android pdf viewer在android studio應(yīng)用問題說明詳解

    這篇文章主要介紹了Android pdf viewer在android studio應(yīng)用問題說明的相關(guān)資料,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09
  • Android RecyclerView添加頭部和底部的方法

    Android RecyclerView添加頭部和底部的方法

    這篇文章主要為大家詳細(xì)介紹了Android RecyclerView添加頭部和底部的方法,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Android的八種對(duì)話框的實(shí)現(xiàn)代碼示例

    Android的八種對(duì)話框的實(shí)現(xiàn)代碼示例

    本篇文章主要介紹了Android的八種對(duì)話框的實(shí)現(xiàn)代碼示例,這里整理了詳細(xì)的代碼,非常具有實(shí)用價(jià)值,有需要的小伙伴可以參考下。
    2017-09-09
  • Android開發(fā)服務(wù)Service全面講解

    Android開發(fā)服務(wù)Service全面講解

    Android的服務(wù)是開發(fā)Android應(yīng)用程序的重要組成部分。不同于活動(dòng)Activity,服務(wù)是在后臺(tái)運(yùn)行,服務(wù)沒有接口,生命周期也與活動(dòng)Activity非常不同。通過使用服務(wù)我們可以實(shí)現(xiàn)一些后臺(tái)操作,比如想從遠(yuǎn)程服務(wù)器加載一個(gè)網(wǎng)頁等,下面來看看詳細(xì)內(nèi)容,需要的朋友可以參考下
    2023-02-02
  • Android基于hover組件實(shí)現(xiàn)監(jiān)控鼠標(biāo)移動(dòng)事件的方法

    Android基于hover組件實(shí)現(xiàn)監(jiān)控鼠標(biāo)移動(dòng)事件的方法

    這篇文章主要介紹了Android基于hover組件實(shí)現(xiàn)監(jiān)控鼠標(biāo)移動(dòng)事件的方法,結(jié)合實(shí)例形式分析了hover組件監(jiān)控鼠標(biāo)光標(biāo)在view上變化的操作技巧,需要的朋友可以參考下
    2017-02-02
  • Android使用socket創(chuàng)建簡(jiǎn)單TCP連接的方法

    Android使用socket創(chuàng)建簡(jiǎn)單TCP連接的方法

    這篇文章主要介紹了Android使用socket創(chuàng)建簡(jiǎn)單TCP連接的方法,結(jié)合實(shí)例形式詳細(xì)分析了Android使用socket創(chuàng)建TCP連接的具體步驟與實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-04-04
  • Android開發(fā)Input系統(tǒng)觸摸事件分發(fā)

    Android開發(fā)Input系統(tǒng)觸摸事件分發(fā)

    這篇文章主要為大家介紹了Android開發(fā)Input系統(tǒng)觸摸事件分發(fā)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Android進(jìn)度條控件progressbar使用方法詳解

    Android進(jìn)度條控件progressbar使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了Android進(jìn)度條控件progressbar的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08

最新評(píng)論