您好,登錄后才能下訂單哦!
Android Java 如何調用自己的 C++ 的類庫
下面以 Java 調用 C++ 的加法運算函數為例,做簡單說明。
(使用 Android Studio 3 編譯)
首先編譯 c++ 類庫
創建獨立目錄存放 c++ 文件,例如 "app/src/main/cpp/add.cpp",內容如下
#include <jni.h> extern "C" JNIEXPORT jint JNICALL Java_com_example_liyi_demo_Util_add( JNIEnv *env, jobject, jint a, jint b ) { return a + b; }
被調用的函數命名必須是 "Java_<namespace>_<class>_<method>" ,此例表示Java 包 com.example.liyi.demo 下,Util 類的 add 方法將關聯此 c++ 函數。
將上一步的 c++ 目錄加入編譯項。已 cmake 為例,將下面內容加入 CMakeLists.txt
add_library( native-util SHARED src/main/cpp/add.cpp )
這樣可編譯成 native-util.so 庫。
在 Java 中調用
實現 Util 類。將如下內容存成 src/main/java/Util.java 文件
package com.example.liyi.demo; public class Util { static { System.loadLibrary(libname: "native-util"); } private native int add(int a, int b); public int java_add(int a, int b) { return add(a, b); } }
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。