欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android Java調(diào)用自己C++類庫的實(shí)例講解

 更新時(shí)間:2019年02月13日 11:17:19   作者:李毅  
今天小編就為大家分享一篇關(guān)于Android Java調(diào)用自己C++類庫的實(shí)例講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

Android Java 如何調(diào)用自己的 C++ 的類庫

下面以 Java 調(diào)用 C++ 的加法運(yùn)算函數(shù)為例,做簡單說明。

(使用 Android Studio 3 編譯)

首先編譯 c++ 類庫

創(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 庫。

在 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é)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

最新評(píng)論