Android Java調(diào)用自己C++類庫(kù)的實(shí)例講解
Android Java 如何調(diào)用自己的 C++ 的類庫(kù)
下面以 Java 調(diào)用 C++ 的加法運(yùn)算函數(shù)為例,做簡(jiǎn)單說(shuō)明。
(使用 Android Studio 3 編譯)
首先編譯 c++ 類庫(kù)
創(chuàng)建獨(dú)立目錄存放 c++ 文件,例如 "app/src/main/cpp/add.cpp",內(nèi)容如下
#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;
}
被調(diào)用的函數(shù)命名必須是 "Java_<namespace>_<class>_<method>" ,此例表示Java 包 com.example.liyi.demo 下,Util 類的 add 方法將關(guān)聯(lián)此 c++ 函數(shù)。
將上一步的 c++ 目錄加入編譯項(xiàng)。已 cmake 為例,將下面內(nèi)容加入 CMakeLists.txt
add_library( native-util SHARED src/main/cpp/add.cpp )
這樣可編譯成 native-util.so 庫(kù)。
在 Java 中調(diào)用
實(shí)現(xiàn) Util 類。將如下內(nèi)容存成 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);
}
}
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
- Android之在linux終端執(zhí)行shell腳本直接打印當(dāng)前運(yùn)行app的日志的實(shí)現(xiàn)方法
- Android可自定義神奇動(dòng)效的卡片切換視圖實(shí)例
- Android添加音頻的幾種方法
- Android四大組件之Activity詳解
- Android四大組件之Service詳解
- Android四大組件之BroadcastReceiver詳解
- Spring線程池ThreadPoolExecutor配置并且得到任務(wù)執(zhí)行的結(jié)果
- 線程池ThreadPoolExecutor使用簡(jiǎn)介與方法實(shí)例
- Java自帶定時(shí)任務(wù)ScheduledThreadPoolExecutor實(shí)現(xiàn)定時(shí)器和延時(shí)加載功能
- Android之線程池ThreadPoolExecutor的簡(jiǎn)介
相關(guān)文章
Android實(shí)現(xiàn)輕量線性與百分比圖表的方法
這篇文章主要給大家介紹了關(guān)于Android實(shí)現(xiàn)輕量線性與百分比圖表的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)學(xué)習(xí)吧。2017-12-12
Android點(diǎn)擊事件派發(fā)機(jī)制源碼分析
這篇文章主要為大家詳細(xì)介紹了Android點(diǎn)擊事件派發(fā)機(jī)制源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
Android RecyclerView實(shí)現(xiàn)滑動(dòng)刪除
這篇文章主要為大家詳細(xì)介紹了Android RecyclerView實(shí)現(xiàn)滑動(dòng)刪除,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07
RecyclerView仿應(yīng)用列表實(shí)現(xiàn)網(wǎng)格布局
這篇文章主要為大家詳細(xì)介紹了RecyclerView仿應(yīng)用列表實(shí)現(xiàn)網(wǎng)格布局,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09
Android Studio實(shí)現(xiàn)QQ的注冊(cè)登錄和好友列表跳轉(zhuǎn)
最近做了一個(gè)項(xiàng)目,這篇文章主要介紹了Android Studio界面跳轉(zhuǎn),本次項(xiàng)目主要包含了注冊(cè)、登錄和好友列表三個(gè)界面以及之間相互跳轉(zhuǎn),感興趣的可以了解一下2021-05-05
Android Webview上的ssl warning的處理方式詳解及實(shí)例
這篇文章主要介紹了Android Webview上的ssl warning的處理方式詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-02-02
Android 處理 View 重復(fù)點(diǎn)擊的多種方法
這篇文章主要介紹了Android 處理 View 重復(fù)點(diǎn)擊的多種方法,幫助大家更好的理解和學(xué)習(xí)使用Android,感興趣的朋友可以了解下2021-03-03

