Android Studio 调用 c c++

来源:互联网 发布:第一行代码java 编辑:程序博客网 时间:2024/05/14 15:10

Java Native Interface(JNI)是Java语言的本地编程接口,是J2SDK的一部分。在java程序中,我们可以通过JNI实现一些用java语言不便实现的功能

配置javah (或者使用命令行 javah -d ../jni Test)

 $JDKPath$\bin\javah.exe  -classpath . -jni -d $ModuleFileDir$\src\main\jni $FileClass$ $ModuleFileDir$\src\main\Java

这里写图片描述

配置ndk

这里写图片描述
创建mylib Module

这里写图片描述
创建类 MyLibTest

这里写图片描述
/**
* Created by wyb on 2016/12/4.
*/

public class MyLibTest {
static {
System.loadLibrary(“MyLibrary”);
}
public native String get();
}
这里写图片描述

自动生成com_example_mylib_MyLibTest.h
这里写图片描述

实现方法

这里写图片描述

include “com_example_mylib_MyLibTest.h”

JNIEXPORT jstring JNICALL Java_com_example_jnit_MyLibTest_get
(JNIEnv *env, jobject obj){
return (*env)->NewStringUTF(env,”My name is Ouyangshengduo,Hi!”);
}

配置1、
这里写图片描述

 ndk {            moduleName"mylib"        }

配置2、

android.useDeprecatedNdk=true

这里写图片描述

运行

这里写图片描述

.so产生位置

这里写图片描述

然后拷贝到libs下,开始使用

红色表示需要导入c++依赖库
这里写图片描述

创建项目

这里写图片描述

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

0 0