卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

如何建立windows下基于C語言的android開發(fā)?

網(wǎng)友解答: 回答這個(gè)問題之前,我先來帶大家看幾個(gè)名詞概念。什么是SDK?SDK(software development kit),顧名思義,也就是軟件開發(fā)工具包的意思!她包括特定軟件包

網(wǎng)友解答:

回答這個(gè)問題之前,我先來帶大家看幾個(gè)名詞概念。

什么是SDK?

SDK(software development kit),顧名思義,也就是軟件開發(fā)工具包的意思!她包括特定軟件包、軟件框架、硬件平臺(tái)、以及操作系統(tǒng)等開發(fā)應(yīng)用軟件的開發(fā)工具集合。那么Android SDK,就是Android開發(fā)者工具包的意思。

什么是JNI?

JNI的全稱是Java Native Interface (我們把它叫做Java本地編程接口),它的存在是方便Java代碼和其他語言寫的代碼進(jìn)行交互。

什么是NDK?

NDK(native development kit),我們姑且稱之為本地或者說原生開發(fā)工具包,因?yàn)锳ndroid本身是基于Linux的,所以從誕生一開始就是支持C/C++開發(fā)的,只是早期谷歌官方不支持,開發(fā)難度極大,直到有一天NDK出現(xiàn)。

那么為什么Android需要C語言進(jìn)行開發(fā)?到底windows下如何基于C語言進(jìn)行Android開發(fā)?可以純C開發(fā)嗎?

apk的java代碼很容易被反編譯,但是C/C++代碼反匯難度較大,而幾乎大部分的開源庫都是C/C++,并且C/C++的執(zhí)行效率是要遠(yuǎn)超過基于虛擬機(jī)的Java代碼的,并且可移植性能非常好,所以C/C++開發(fā)就應(yīng)用而生,Google很顯然也發(fā)現(xiàn)了這一點(diǎn)。

說了這么多你大概心里有底了,也就是說你只需要在安裝NDK就可以很好的在Windows上進(jìn)行Java開發(fā)了,它提供了一系列工具,幫助開發(fā)者快速開發(fā)C/C++動(dòng)態(tài)庫,并能自動(dòng)將so和java應(yīng)用一起打包成apk文件,還集成了交叉編譯器,可以說非常方便。

但是NDK所提供的API非常有限,C 標(biāo)準(zhǔn)庫、標(biāo)準(zhǔn)數(shù)學(xué)庫、壓縮庫、Log 庫等,這就是目前能支持的庫。

即使Google曾多次表示要進(jìn)一步完善NDK生態(tài),并且表明要加強(qiáng)NDK的調(diào)試能力,但是很顯然這并不是Android的主流開發(fā)方式,至少目前還是Java,但是未來會(huì)是什么語言?Go、Python、kotlin?我們不得而知,畢竟現(xiàn)在很多App都用JavaScript做Web App了。

所以原生C是難度很大了,不過混合開發(fā)還是比較常見的。

標(biāo)簽: