首頁 > 手機軟體

ndk java 和 c 互掉

2019-12-11 00:08:46

    本文主要解決:

    ①  java如何呼叫c c++;

    ② c c++如何呼叫java;

    ③ android ndk如何獲取手機的IP地址;

    ④ 如何使用 android ndk 進行偵錯;

    ⑤ 如何使用 javah 生成 c c++ 的標頭檔案;

    ⑥ 如何使用 javap 生成 java 方法的數位簽名;

    ⑦ 如何將javah javap 整合到eclipse中;

    ⑧ 如何設定網路許可權;

    開始本來打算把中間遇到的解決過程遮蔽掉,後來還是留了下來,我覺得中間的解決問題的過程甚至比這個視訊的意義還要重大。

    方便他人亦是方便自己,如果覺得還行就點下右邊投票吧,這樣可以幫助其他人更快的找到解決問題的方法;有疑問的也可留言哦, 謝謝!

    視訊和程式碼的百度雲連結: http://pan.baidu.com/s/1c0cTISC 密碼: 31h6

    註:由於優酷對視訊進行了壓縮,特將高清版存放在百度雲中,歡迎大家學習。

1

註:當視訊與文件的內容出現不一致的地方,以文件的內容為主,可能是由於視訊修改起來複雜導致

1、新建一個android的工程,取名 「WifiIp「,右鍵工程」Android Tools->Add Native Support...「


2

在 MainActivity 類中增加函數 getWifiAddress,如下


3

在布局中增加一個button,並增加button對應的響應事件,如下圖:


4

增加一個函數的宣告:native public void onBnClick();

5

在 增加 javah 的批次處理,javah主要是用來生成class檔案中的native方法對應的在c的函數的宣告,設定如下所示:

-classpath src -d jni com.fuke.wifi.MainActivity


6

增加 javap 的處理,javap主要是是用來生成c呼叫java的函數時,java的函數的 函數簽名,設定如下:

-classpath binclasses -s com.fuke.wifi.MainActivity


7

在 WifiIp.cpp 檔案中新增程式碼:如下所示:


8

在 Android.mk 檔案中新增程式碼:如下所示


9

在 Application.mk 檔案中新增程式碼:如下所示


10

在 AndroidManifest.xml 中增加 網路許可權


1

   方便他人亦是方便自己,如果覺得還行就點下下邊投票吧,這樣可以幫助其他人更快的找到解決問題的方法;有疑問的也可留言哦, 謝謝!



IT145.com E-mail:sddin#qq.com