1. 程式人生 > >Android Studio JNI開發,Java+C++

Android Studio JNI開發,Java+C++

前提:Mac平臺,windows平臺僅供參考。

1,準備工作。

1.1,檢視你的jdk是否有javah編譯功能:終端-》whereis javah

如果沒有找到這條指令,請檢視你是否安裝的是JDK較高版本,如果是jdk10,恭喜你這裡邊沒有javah的命令了,你需要更換你的jdk為1.8。如果你的jdk中有,你可以看到在Java Home的檔案路徑下看到如下圖:

如何配置你本機的jdk環境,請自行百度。

還可以使用你Android Studio中自帶的Java編譯,其中也是包含有javah的你只需要按照如下圖設定:

 

1.2,還需要三個外掛工具:

具體你可以參考google的Android開發者指導頁面:https://developer.android.com/studio/projects/add-native-code?hl=zh-cn

您可以使用 SDK 管理器安裝這些元件:

  1. 在開啟的專案中,從選單欄選擇 Tools > Android > SDK Manager
  2. 點選 SDK Tools 標籤。
  3. 選中 LLDBCMake 和 NDK 旁的複選框,如圖 1 所示。

    圖 1. 從 SDK 管理器中安裝 LLDB、CMake 和 NDK。

  4. 點選 Apply,然後在彈出式對話方塊中點選 OK
  5. 安裝完成後,點選 Finish,然後點選 OK

好了,準備工作完成。

 

2,新建一個帶有C/C++的Android 工程

其中最重要的會自動生成:

1,cpp資料夾,這裡邊有範例的C++檔案。

2,CMakeLists.txt關聯庫名稱和檔案路徑。

3,app的build.gradle檔案中會自動生成

4,我們可以觀察cpp檔案,和MainActivity.java 能夠知道他的命名規則,和呼叫規則。

c++檔案函式名的命名規則:Java+包名+Activity名+方法名

在Activity中用CMakeLists.txt檔案中的別名靜態載入c++檔案。

該呼叫方法需要在Activity中申明為Native方法。

之後就可以直接呼叫該方法獲取C++檔案中傳遞的值了。

這樣jni加入C++檔案開發就可以正常運行了。

下一篇將說明,如何引入c檔案呼叫。其實和c++很像,也有不同的方法,需要用到上邊說的javah。