安卓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项目的主要内容,如果未能解决你的问题,请参考以下文章

安卓逆向 -- 绕过SO层签名验证

安卓逆向 -- NDK开发实现MD5算法

安卓逆向 -- 实现SO层签名验证

用ndk制作一个安卓so

android studio 2.3 cmake ndk开发第一个项目运行

android studio 2.3 cmake ndk开发第一个项目运行