JNI 學習筆記系列(一)
JNI是Java native interface,也即Java本地應用開發(fā)接口。JNI相當于一個中間件,通過它可以使Java和C語言之間互相調用。
Java語言不能寫驅動程序,因為Java的運行是在Java虛擬機上,虛擬機將底層東西屏蔽掉了,Java不能直接在底層運行,所一不能用Java寫驅動程序。
在android開發(fā)中有哪些功能的開發(fā)需要用到JNI呢?
1.wifi熱點共享,操作手機網卡,把手機網卡的狀態(tài)設置為混雜模式。
2.極品飛車,重力引擎,碰撞效果的模擬。
3.視頻音頻編解碼,可以使用代碼庫。
……
好了,先來看看C/C++的基礎知識。
一個helloworld程序
# include
1
2
3
4
5
6
這個程序輸出一個簡單的輸出,結果為 “Hello world !”
再寫一個簡單的Java程序HelloJava.java,如下:
public class HelloJava{ public static void main(String args[]){ System.out.println("Hello java and JNI !"); } }
1
2
3
4
5
6
這個Java程序輸出一個”Hello java and JNI !”,將HelloJava.java編譯,并將編譯后的.class文件與上面的.c文件放在同一個文件夾中,這時,可以在C中執(zhí)行這個.class文件:
# include
1
2
3
4
5
6
7
8
9
輸出結果為:
這樣就實現(xiàn)了一個簡單的在C語言中調用Java的程序,如果這個HelloJava.class文件和.c文件不在同一個文件夾中,假設HelloJava.class在c盤根目錄下,又該如何調用?
# include
1
2
3
4
5
6
7
8
9
Java
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。