android studio 3.3.2 NDK编译C++(C) JNI调用

第一次写这东西 不知道怎么开始 此处省略几万字…
我们正式开始
我用的android studio 3.3.2
android studio 3.3.2 NDK编译C++(C) JNI调用_第1张图片
下面配置ndk
在这里插入图片描述
dndkandroid studio 3.3.2 NDK编译C++(C) JNI调用_第2张图片
ndk的地址在sdk 里面
android studio 3.3.2 NDK编译C++(C) JNI调用_第3张图片

下面我们正式开始进入主题

新建一个类
在这里插入图片描述
public class JNITest {
static {
System.loadLibrary(“JNIHello”);
}

public native static String getStrFromJNI();

}
输入如下指令生成 .h文件
在这里插入图片描述
javah -d …/jni com.example.jni.JNITest

在这里插入图片描述
/* DO NOT EDIT THIS FILE - it is machine generated /
#include
/
Header for class com_example_jni_JNITest */

#ifndef _Included_com_example_jni_JNITest
#define _Included_com_example_jni_JNITest
#ifdef __cplusplus
extern “C” {
#endif
/*

  • Class: com_example_jni_JNITest
  • Method: getStrFromJNI
  • Signature: ()Ljava/lang/String;
    */
    JNIEXPORT jstring JNICALL Java_com_example_jni_JNITest_getStrFromJNI
    (JNIEnv *, jclass);

#ifdef __cplusplus
}
#endif
#endif

创建c++©文件
android studio 3.3.2 NDK编译C++(C) JNI调用_第4张图片

#include “com_example_jni_JNITest.h”

JNIEXPORT jstring JNICALL Java_com_example_jni_JNITest_getStrFromJNI
(JNIEnv *env, jclass jclass) {
return env->NewStringUTF(“Hello World From JNI!!!”);
}

最后在bulid文件中加入如下代码
android studio 3.3.2 NDK编译C++(C) JNI调用_第5张图片
android studio 3.3.2 NDK编译C++(C) JNI调用_第6张图片
然后调用代码
在这里插入图片描述
android studio 3.3.2 NDK编译C++(C) JNI调用_第7张图片

第一写博客 话不多全是图片 望见谅
android studio 3.3.2 NDK编译C++(C) JNI调用_第8张图片

你可能感兴趣的:(Android)