国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩

  新聞動(dòng)態(tài)
· 公司新聞
· 原創(chuàng)圖書(shū)
· 新視頻
· 技術(shù)文章
· 行業(yè)動(dòng)態(tài)
  熱點(diǎn)專題
· 華清遠(yuǎn)見(jiàn)10周年慶典,重重驚喜!
· 2013-2014嵌入式開(kāi)發(fā)人員調(diào)查啟動(dòng)
· 華清遠(yuǎn)見(jiàn)2013年度年終盤(pán)點(diǎn)
· 華清遠(yuǎn)見(jiàn)教育科技集團(tuán)總裁2014新年致辭
· 2012嵌入式暨物聯(lián)網(wǎng)高峰論壇
· 品牌詮釋:高校學(xué)子口口相傳
· 八大優(yōu)勢(shì):Android頂尖人才培養(yǎng)
· 華清遠(yuǎn)見(jiàn)原創(chuàng)嵌入式精品圖書(shū)展示
· 華清遠(yuǎn)見(jiàn)新學(xué)員就業(yè)風(fēng)云榜
  近期新聞
· 華清遠(yuǎn)見(jiàn)與Atmel再次達(dá)成 深度合作
· 谷歌GDG Android開(kāi)發(fā)講座 成功舉辦
· 谷歌Android學(xué)術(shù)合作計(jì)劃 師資培訓(xùn)
· 華清遠(yuǎn)見(jiàn)獲“優(yōu)秀出版合作 伙伴”獎(jiǎng)
· 華清遠(yuǎn)見(jiàn)成為Altera全球授 權(quán)培訓(xùn)中心
· 華清遠(yuǎn)見(jiàn)攜手Atmel推出 FSIOT_A平臺(tái)
  圖片新聞
2013-2014(第六屆)嵌入式開(kāi)發(fā)從業(yè)人員大調(diào)查正式啟動(dòng)
華清遠(yuǎn)見(jiàn)2013年度年終盤(pán)點(diǎn)
華清遠(yuǎn)見(jiàn)教育科技集團(tuán)總裁2014新年致辭
華清遠(yuǎn)見(jiàn)10周年慶典,感恩回饋 重重驚喜!

Android培訓(xùn):Android NDK是什么?

分享到:
           

    Android NDK是什么?Android NDK 是在SDK前面又加上了"原生"二字,即Native Development Kit,因此又被Google稱為"NDK"。在此之前,Android平臺(tái)的第三方應(yīng)用程序均是依靠基于Java的Dalvik特制虛擬機(jī)進(jìn)行開(kāi)發(fā)的。原生SDK的公布可以讓開(kāi)發(fā)者更加直接的接觸Android系統(tǒng)資源,并使用傳統(tǒng)的C或C++語(yǔ)言編寫(xiě)程序,并在程序封包文件(.apks)中直接嵌入原生庫(kù)文件。

    Android NDK是什么?

    1、Android NDK是一系列工具的集合。

  • NDK提供了一系列的工具,幫助開(kāi)發(fā)者快速開(kāi)發(fā)C(或C++)的動(dòng)態(tài)庫(kù),并能自動(dòng)將so和java應(yīng)用一起打包成apk。這些工具對(duì)開(kāi)發(fā)者的幫助是巨大的。
  • NDK集成了交叉編譯器,并提供了相應(yīng)的mk文件隔離CPU、平臺(tái)、ABI等差異,開(kāi)發(fā)人員只需要簡(jiǎn)單修改mk文件(指出"哪些文件需要編譯"、"編譯特性要求"等),就可以創(chuàng)建出so。
  • NDK可以自動(dòng)地將so和Java應(yīng)用一起打包,極大地減輕了開(kāi)發(fā)人員的打包工作。

    2、Android NDK提供了一份穩(wěn)定、功能有限的API頭文件聲明。

    Google明確聲明該API是穩(wěn)定的,在后續(xù)所有版本中都穩(wěn)定支持當(dāng)前發(fā)布的API。從該版本的NDK中看出,這些API支持的功能非常有限,包含有:C標(biāo)準(zhǔn)庫(kù)(libc)、標(biāo)準(zhǔn)數(shù)學(xué)庫(kù)(libm)、壓縮庫(kù)(libz)、Log庫(kù)(liblog)。

    3、Android NDK帶來(lái)什么

    1) NDK的發(fā)布,使"Java+C"的開(kāi)發(fā)方式終于轉(zhuǎn)正,成為官方支持的開(kāi)發(fā)方式。

  • 使用NDK,我們可以將要求高性能的應(yīng)用邏輯使用C開(kāi)發(fā),從而提高應(yīng)用程序的執(zhí)行效率。
  • 使用NDK,我們可以將需要保密的應(yīng)用邏輯使用C開(kāi)發(fā)。畢竟,Java包都是可以反編譯的。
  • NDK促使專業(yè)so組件商的出現(xiàn)。(樂(lè)觀猜想,要視乎Android用戶的數(shù)量)

    2)NDK將是Android平臺(tái)支持C開(kāi)發(fā)的開(kāi)端。

    NDK提供了的開(kāi)發(fā)工具集合,使開(kāi)發(fā)人員可以便捷地開(kāi)發(fā)、發(fā)布C組件。同時(shí),Google承諾在NDK后續(xù)版本中提高"可調(diào)式"能力,即提供遠(yuǎn)程的gdb工具,x使我們可以便捷地調(diào)試C源碼。

    4、Android NDK的缺點(diǎn)

    使用NDK編寫(xiě)運(yùn)行于android設(shè)備上的通用代碼并不好,你的應(yīng)用依然應(yīng)該主要使用Java編寫(xiě),這樣才能正確處理Android系統(tǒng)的事件來(lái)避免"應(yīng)用無(wú)反應(yīng)"對(duì)話框的出現(xiàn)或處理應(yīng)用的生命周期。

    NDK僅僅為android系統(tǒng)所支持的本地API和庫(kù)中的一小部分些提供了頭文件。然而一個(gè)典型的Android系統(tǒng)映像包含了很多本地共享庫(kù),但這些應(yīng)被看做是實(shí)現(xiàn)的細(xì)節(jié),這些實(shí)現(xiàn)可能在平臺(tái)更新或發(fā)布時(shí)發(fā)生徹底的變化。

    如果一個(gè)Android系統(tǒng)的庫(kù)沒(méi)有被NDK的頭文件明確支持,那么應(yīng)用不應(yīng)依賴于它。否則可能在下一次系統(tǒng)升級(jí)后出現(xiàn)杯具。

    5、NDK開(kāi)發(fā)實(shí)踐

    1) 把本地代碼放在$PROJECT/jni/…下,比如將hello.c放到apps/hello/jni/目錄下

    2) 在你的NDK編譯系統(tǒng)中在$PROJECT/jni/Android.mk來(lái)描述你的源代碼

    3) 可選:在$PROJECT/jni/Application.mk到你的編譯系統(tǒng)中來(lái)詳細(xì)描述你的項(xiàng)目,盡管你開(kāi)始的話不一定需要它,但是它允許你使用更多的CPU或者覆蓋編譯器/鏈接器的標(biāo)記

    4) 從你的項(xiàng)目的目錄開(kāi)始通過(guò)運(yùn)行"$NDK/ndk-build"來(lái)編譯你的代碼,或者從子目錄開(kāi)始

    5) 后一步可以copy,萬(wàn)一成功,剝離共享庫(kù)的應(yīng)用層序需要你的應(yīng)用程序的項(xiàng)目根目錄。然后你通過(guò)通常的方法來(lái)生成終的apk。

    通過(guò)上文的學(xué)習(xí),相信你對(duì)Android NDK是什么?已經(jīng)有了大致的了解,后續(xù)華清遠(yuǎn)見(jiàn)Android培訓(xùn)資料中會(huì)給出更多關(guān)于Android NDK的文章,敬請(qǐng)關(guān)注!

   熱點(diǎn)鏈接:

   1、Android SDK怎么安裝
   2、Android SDK開(kāi)發(fā)環(huán)境搭建

更多新聞>>