中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JNI與NDK的原理是什么

發布時間:2022-01-07 22:11:05 來源:億速云 閱讀:210 作者:柒染 欄目:移動開發

本篇文章為大家展示了JNI與NDK的原理是什么,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

1.何謂JNI

       JNI,從Java1.1開始,Java Native Interface(JNI)標準成為java平臺的一部分,它允許Java代碼和其他語言寫的代碼進行交互。JNI一開始是為了本地已編譯語言,尤其是C和C++而設計的,但是它并不妨礙你使用其他語言,只要調用約定受支持就可以了。使用java與本地已編譯的代碼交互,通常會喪失平臺可移植性。但是,有些情況下這樣做是可以接受的,甚至是必須的。例如,使用一些舊的庫,與硬件、操作系統進行交互,或者為了提高程序的性能。JNI標準至少保證本地代碼能工作在任何Java 虛擬機環境下。

 2.何謂NDK

      Android NDK 是在SDK前面又加上了“原生”二字,即Native Development Kit,因此又被Google稱為“NDK”。

眾所周知,Android程序運行在Dalvik虛擬機中,NDK允許用戶使用類似C / C++之類的原生代碼語言執行部分程序。

NDK包括了:

從C / C++生成原生代碼庫所需要的工具和build files。

將一致的原生庫嵌入可以在Android設備上部署的應用程序包文件(application packages files ,即.apk文件)中。

支持所有未來Android平臺的一些列原生系統頭文件和庫

    為何要用到NDK?

概括來說主要分為以下幾種情況:

1. 代碼的保護,由于apk的java層代碼很容易被反編譯,而C/C++庫反匯難度較大。

2. 在NDK中調用第三方C/C++庫,因為大部分的開源庫都是用C/C++代碼編寫的。

3. 便于移植,用C/C++寫的庫可以方便在其他的嵌入式平臺上再次使用。

上述內容就是JNI與NDK的原理是什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

电白县| 长武县| 台北市| 石棉县| 浪卡子县| 南和县| 嵊州市| 巢湖市| 玉田县| 延庆县| 阿勒泰市| 康马县| 沈阳市| 青海省| 将乐县| 六枝特区| 泸溪县| 昌平区| 武夷山市| 安岳县| 磴口县| 铜山县| 鹤山市| 珲春市| 神农架林区| 天台县| 侯马市| 灵璧县| 新巴尔虎右旗| 百色市| 监利县| 团风县| 阜新市| 时尚| 兴宁市| 延川县| 内江市| 弋阳县| 高清| 咸丰县| 盐池县|