windows 下使用 ndk 交叉編譯

首先下載 ndk

https://developer.android.google.cn/ndk/downloads/

下載后解壓縮涩搓,然后將解壓后的目錄配置到系統(tǒng)環(huán)境變量 path 中誓沸,例如:
C:\android-ndk-r20


image.png

啟動(dòng)名利行窗口 CMD,輸入命令:
ndk-build -v
顯示出版本信息表示配置成功。

在工作目錄(例如:socket)下編寫測(cè)試程序,例如:

server.c
client.c

在此目錄下建立子目錄:jni
mkdir jni
進(jìn)入 jni 目錄,建立兩個(gè)文件
Android.mk 和 Application.mk
內(nèi)容如下

Android.mk

LOCAL_PATH := $(call my-dir)
#模塊1
include $(CLEAR_VARS)
LOCAL_CFLAGS += -fPIE  
LOCAL_LDFLAGS += -fPIE -pie
LOCAL_MODULE := yyq_server
LOCAL_SRC_FILES := ../server.c
include $(BUILD_EXECUTABLE)

#模塊2
include $(CLEAR_VARS)
LOCAL_CFLAGS += -fPIE  
LOCAL_LDFLAGS += -fPIE -pie
LOCAL_MODULE := yyq_client
LOCAL_SRC_FILES := ../client.c
include $(BUILD_EXECUTABLE)

注意這里面的 $(LOCAL_PATH) 的值是 Android.mk 本身所在路徑

Application.mk

APP_PLATFORM := android-21
APP_ABI := arm64-v8a

編譯

回到上級(jí)工程目錄(例如:socket)路狮,執(zhí)行
ndk-build
編譯成功后,編譯結(jié)果在 libs/arm64-v8a 目錄下

清理編譯文件可以執(zhí)行:
ndk-build clean

Android.mk 其他的編譯參數(shù)

  • 編譯動(dòng)態(tài)庫(kù):include $(BUILD_SHARED_LIBRARY)

  • 編譯靜態(tài)庫(kù):include $(BUILD_STATIC_LIBRARY)

  • 加載第三方靜態(tài)庫(kù): LOCAL_STATIC_LIBRARIES := libgui liblog

  • 加載第三方動(dòng)態(tài)庫(kù): LOCAL_SHARED_LIBRARIES := libgui liblog

  • LOCAL_C_INCLUDES

  • LOCAL_LDLIBS

  • LOCAL_LDFLAGS

  • LOCAL_CFLAGS

  • LOCAL_CPP_FLAGS

Application.mk 其他的編譯參數(shù)

  • APP_CLAGS:列出編譯器標(biāo)識(shí)享郊,在編譯任何模塊的C和C++源文件時(shí)這些標(biāo)志都會(huì)被傳給編譯器
  • APP_CPPFLAGS:列出編譯器標(biāo)識(shí)览祖,在編譯任何模塊的C++源文件時(shí)這些標(biāo)志都會(huì)被傳給編譯器

相關(guān)工具位置

toolchains\x86_64-4.9\prebuilt\windows-x86_64\bin\x86_64-linux-android-objdump.exe

其它參數(shù)參考

認(rèn)識(shí)Android.mk和Application.mk
NDK 編譯的三種方式
Android各個(gè)版本的NDK官方下載鏈接

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市炊琉,隨后出現(xiàn)的幾起案子展蒂,更是在濱河造成了極大的恐慌,老刑警劉巖苔咪,帶你破解...
    沈念sama閱讀 217,084評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锰悼,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡团赏,警方通過(guò)查閱死者的電腦和手機(jī)箕般,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)舔清,“玉大人丝里,你說(shuō)我怎么就攤上這事√遐耍” “怎么了杯聚?”我有些...
    開(kāi)封第一講書人閱讀 163,450評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)抒痒。 經(jīng)常有香客問(wèn)我幌绍,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,322評(píng)論 1 293
  • 正文 為了忘掉前任傀广,我火速辦了婚禮颁独,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘伪冰。我一直安慰自己誓酒,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布糜值。 她就那樣靜靜地躺著丰捷,像睡著了一般坯墨。 火紅的嫁衣襯著肌膚如雪寂汇。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,274評(píng)論 1 300
  • 那天捣染,我揣著相機(jī)與錄音骄瓣,去河邊找鬼。 笑死耍攘,一個(gè)胖子當(dāng)著我的面吹牛榕栏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蕾各,決...
    沈念sama閱讀 40,126評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼扒磁,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了式曲?” 一聲冷哼從身側(cè)響起妨托,我...
    開(kāi)封第一講書人閱讀 38,980評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吝羞,沒(méi)想到半個(gè)月后兰伤,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,414評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡钧排,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評(píng)論 3 334
  • 正文 我和宋清朗相戀三年敦腔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恨溜。...
    茶點(diǎn)故事閱讀 39,773評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡符衔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出糟袁,到底是詐尸還是另有隱情判族,我是刑警寧澤,帶...
    沈念sama閱讀 35,470評(píng)論 5 344
  • 正文 年R本政府宣布系吭,位于F島的核電站五嫂,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜沃缘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評(píng)論 3 327
  • 文/蒙蒙 一躯枢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧槐臀,春花似錦锄蹂、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,713評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至晰洒,卻和暖如春朝抖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背谍珊。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,852評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工治宣, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人砌滞。 一個(gè)月前我還...
    沈念sama閱讀 47,865評(píng)論 2 370
  • 正文 我出身青樓侮邀,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親贝润。 傳聞我的和親對(duì)象是個(gè)殘疾皇子绊茧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評(píng)論 2 354