安卓SO层开发 -- 第一个NDK项目
Posted web安全工具库
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓SO层开发 -- 第一个NDK项目相关的知识,希望对你有一定的参考价值。
0x01 新建项目
1、选择Native C++
2、填写项目名称、项目位置等相关信息
3、选择C++版本信息,默认即可
0x02 项目源码结构介绍
1、编译后生成的so文件名称
static
System.loadLibrary("a2022ndk");
2、声明的so层的函数
public native String stringFromJNI();
3、在Java层调用
tv.setText(stringFromJNI());
4、在C层的代码实现
#include <jni.h>
#include <string>
extern "C" JNIEXPORT jstring JNICALL
Java_com_example_a2022ndk_MainActivity_stringFromJNI(
JNIEnv* env,//与java层交互必须添加这两个参数
jobject /* this */)
std::string hello = "公众号:编程者吧";//C++中的字符串
return env->NewStringUTF(hello.c_str());//将c++字符串转换成C字符串,然后通过NewStringUTF转换为java层的字符串
0x04 运行效果
以上是关于安卓SO层开发 -- 第一个NDK项目的主要内容,如果未能解决你的问题,请参考以下文章