Android Jni 例程
生活随笔
收集整理的這篇文章主要介紹了
Android Jni 例程
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.Jni的作用
Java是一種比較高級(jí)的語(yǔ)言,Java調(diào)用c庫(kù),調(diào)用c++庫(kù)是必不可少的,所以Jni就應(yīng)運(yùn)而生了。
- NDK:NDK是Native Development Kit的縮寫,是Google提供的一套工具集,可以讓你其他語(yǔ)言(C、C++或匯編)開(kāi)發(fā) Android的 JNI。NDK可以編譯多平臺(tái)的so,開(kāi)發(fā)人員只需要簡(jiǎn)單修改 mk 文件說(shuō)明需要的平臺(tái),不需要改動(dòng)任何代碼,NDK就可以幫你編譯出所需的so庫(kù)。
- JNI:JNI是Java本機(jī)接口(Java Native Interface),是一個(gè)本機(jī)編程接口,它是Java軟件開(kāi)發(fā)工具箱(Java Software Development Kit,SDK)的一部分。JNI允許Java代碼使用以其他語(yǔ)言編寫的代碼和代碼庫(kù)。Invocation API(JNI的一部分)可以用來(lái)將Java虛擬機(jī)(JVM)嵌入到本機(jī)應(yīng)用程序中,從而允許程序員從本機(jī)代碼內(nèi)部調(diào)用Java代碼。不過(guò),對(duì)Java外部的調(diào)用通常不能移植到其他平臺(tái),在applet中還可能引發(fā)安全異常。實(shí)現(xiàn)本地代碼將使您的Java應(yīng)用程序無(wú)法通過(guò)100%純Java測(cè)試。但是,如果必須執(zhí)行本地調(diào)用,則要考慮幾個(gè)準(zhǔn)則:
1、將您的所有本地方法都封裝到一個(gè)類中,這個(gè)類調(diào)用單個(gè)的DLL。對(duì)每一種目標(biāo)操作系統(tǒng)平臺(tái),都可以用特定于適當(dāng)平臺(tái)的版本的DLL。這樣可以將本地代碼的影響減少到最小,并有助于將以后所需要的移植問(wèn)題考慮在內(nèi)。
2、本地方法盡量簡(jiǎn)單。盡量使您的本地方法對(duì)第三方(包括Microsoft)運(yùn)行時(shí)DLL的依賴減少到最小。使您的本地方法盡
總結(jié)
以上是生活随笔為你收集整理的Android Jni 例程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: PHP常用函数大全
- 下一篇: android fragment 底部菜