一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

基于 Android NDK 的學(xué)習(xí)之旅-----序言

 唐伯龍 2011-10-22

前些日子做了個(gè)Android項(xiàng)目引擎層 C準(zhǔn)備寫這個(gè)系類的文章,借此跟朋友來分享下我NDK開放的經(jīng)驗(yàn)以及自己知識(shí)的總結(jié)和備忘。希望能給需要這方面資料的朋友提供一定的幫助。

主要涉及到:

  環(huán)境的搭建

Android.mk 文件的 配置

HelloWorld

NDK 打印信息

JNI 數(shù)據(jù)類型

Java 調(diào)用 C

調(diào)用 Java

數(shù)據(jù)的傳輸(基本數(shù)據(jù)類型的傳輸,引用數(shù)據(jù)類型的傳輸,數(shù)組的傳輸)

C中新建Java對(duì)象

Java方法在C中的映射(包括了簽名的使用)

C中如何調(diào)用Java的方法(包括了靜態(tài)的和非靜態(tài)的)

JNI中資源的釋放 等等

 

 

 

 

 

先詳細(xì)介紹下NDK, JNI

 

What is the NDK?

   Google Say

The Android NDK is a toolset that lets you embed components that make use of native code in your Android applications.

Android applications run in the Dalvik virtual machine. The NDK allows you to implement parts of your applications using native-code languages such as C and C++. This can provide benefits to certain classes of applications, in the form of reuse of existing code and in some cases increased speed.

 

Android NDK是一個(gè)工具集合,讓你嵌入組件,利用原生代碼在你的Android Application

Android應(yīng)用在虛擬機(jī)上執(zhí)行.NDK允許你的應(yīng)用通過原生代碼如CC++去實(shí)現(xiàn).這將給某些應(yīng)用帶來好處,這種方式能代碼重用,并且在某些情況下提高執(zhí)行速度】(個(gè)人翻譯,翻譯不準(zhǔn)確的請(qǐng)指出)

 

 NDK全稱:Native Development Kit。

Android NDK 是配合 Android SDK 的工具,Google 推出NDK的目的不是為了取代Android SDK ,當(dāng)然也不可能完全取代,它只是作為Android SDK  的一個(gè)補(bǔ)充。用來編譯應(yīng)用的原生代碼。

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

  * NDK提供了一系列的工具,幫助開發(fā)者快速開發(fā)C(或C++)的動(dòng)態(tài)庫,并能自動(dòng)將sojava應(yīng)用一起打包成apk。這些工具對(duì)開發(fā)者的幫助是巨大的。

  * NDK集成了交叉編譯器,并提供了相應(yīng)的mk文件隔離CPU、平臺(tái)、ABI等差異,開發(fā)人員只需要簡(jiǎn)單修改mk文件(指出哪些文件需要編譯、編譯特性要求等),就可以創(chuàng)建出so。

  * NDK可以自動(dòng)地將soJava應(yīng)用一起打包,極大地減輕了開發(fā)人員的打包工作。

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

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

 

What is the JNI?

   Sun say

THE Java Native Interface (JNI) is a powerful feature of the Java platform.

Applications that use the JNI can incorporate native code written in programming languages such as C and C++, as well as code written in the Java programming language. The JNI allows programmers to take advantage of the power of the Java platform, without having to abandon their investments in legacy code. Because the JNI is a part of the Java platform, programmers can address interoperability issues once, and expect their solution to work with all implementations of the Java platform.

 

JNIJava Native Interface的縮寫,中文為JAVA本地調(diào)用。從Java1.1開始,Java Native Interface(JNI)標(biāo)準(zhǔn)成為java平臺(tái)的一部分,它允許Java代碼和其他語言寫的代碼進(jìn)行交互。JNI一開始是為了本地已編譯語言,尤其是CC++而設(shè)計(jì)的,但是它并不妨礙你使用其他語言,只要調(diào)用約定受支持就可以了。

 

 

網(wǎng)絡(luò)上相關(guān)的介紹資料太多了,我就不啰嗦了。嘎嘎

 

 

點(diǎn)擊下載 常用文檔:

NDK R5 Docs.rar

JNI Docs.rar


盡量一天一篇,下篇講解 elipse sdk ndk cygwin cdt 環(huán)境的搭建

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    国产精品欧美一区二区三区| 蜜桃传媒在线正在播放| 国产一二三区不卡视频| 欧美日韩欧美国产另类| 午夜亚洲少妇福利诱惑| 伊人网免费在线观看高清版 | 国产极品粉嫩尤物一区二区| 久热在线视频这里只有精品| 欧美不卡高清一区二区三区| 亚洲二区欧美一区二区| 欧美日韩有码一二三区| 日韩成人中文字幕在线一区| av在线免费观看一区二区三区| 国产一区二区不卡在线播放 | 午夜福利黄片免费观看| 国产成人一区二区三区久久| 欧美成人欧美一级乱黄| 91亚洲国产成人久久| 国产老熟女乱子人伦视频| 亚洲男人的天堂就去爱| 欧美日韩精品视频在线| 欧美国产极品一区二区| 久热人妻中文字幕一区二区| 亚洲一区二区久久观看| 中文字幕区自拍偷拍区| 伊人国产精选免费观看在线视频| 区一区二区三中文字幕| 国产精品视频一区麻豆专区| 一区二区三区四区亚洲另类| 中文字幕亚洲精品人妻| 在线懂色一区二区三区精品| 美女露小粉嫩91精品久久久| 日韩av亚洲一区二区三区| 日本福利写真在线观看| 亚洲视频一区自拍偷拍另类| 人妻一区二区三区在线| 免费在线播放一区二区| 极品少妇一区二区三区精品视频| 熟女乱一区二区三区四区| 丰满少妇被猛烈撞击在线视频| 91国自产精品中文字幕亚洲|