寫在正文之前:

幾個(gè)月沒有更新博客,感覺有點(diǎn)生疏了,所以說不能斷,一斷人就懶。

其實(shí)這幾個(gè)月也并不是什么事也沒有做,俺可是時(shí)刻想著今年的任務(wù)呢,10本書,30篇博文...,這幾個(gè)月間斷性的也是在學(xué)習(xí)中,學(xué)H5,學(xué)設(shè)計(jì)模式,以及NDK JNI開發(fā)等等。

學(xué)習(xí)JNI主要是因?yàn)楣居幸恍〤OCOS游戲需要添加計(jì)費(fèi)點(diǎn),而又沒有真正的游戲開發(fā)人員,這個(gè)重任就落到我身上了,然后就是各種虐,一虐到底,苦不堪言,這種虐并不是學(xué)習(xí)技術(shù)的虐,而是一款游戲用于N種計(jì)費(fèi)點(diǎn),不停的改改改,那個(gè)需求這個(gè)需要的,然后你就等著被玩吧。

正文

OK,言歸正傳,說到NDK,相信大家都不陌生,它是Google為便于Android開發(fā)提供的一種原生開發(fā)集:Native Development Kit,而且也是一個(gè)包含API、構(gòu)建工具、交叉編譯、調(diào)試器、文檔示例等一系列的工具集,可以幫助開發(fā)者快速開發(fā)C(或C++)的動(dòng)態(tài)庫,并能自動(dòng)將so和java應(yīng)用一起打包成APK。

與NDK密切相關(guān)的另一個(gè)詞匯則是JNI,它是NDK開發(fā)中的樞紐,Java與底層交互絕大多數(shù)都是通過它來完成的,那么接下來看看什么是JNI?

JNI:Java Native Interface 也就是java本地接口,它是一個(gè)協(xié)議,這個(gè)協(xié)議用來溝通java代碼和本地代碼(c/c++)。通過這個(gè)協(xié)議,Java類的某些方法可以使用原生實(shí)現(xiàn),同時(shí)讓它們可以像普通的Java方法一樣被調(diào)用和使用,而原生方法也可以使用Java對(duì)象,調(diào)用和使用Java方法。也就是說,使用JNI這種協(xié)議可以實(shí)現(xiàn):java代碼調(diào)用c/c

網(wǎng)友評(píng)論