欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > Android >内容正文

Android

android ndk jni so,Android Studio Ndk So 文件

发布时间:2025/3/20 Android 51 豆豆
生活随笔 收集整理的这篇文章主要介绍了 android ndk jni so,Android Studio Ndk So 文件 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

一 下载NKD,并解压

官网:https://developer.android.com/index.html

二 新建项目

1 新建Android Studio项目

2 项目配置NDK路径

image.png

3 gradle.properties 增加

//使用NDK

android.useDeprecatedNdk=true

3 项目的build.gradle defaultConfig增加

ndk {

moduleName "native-jni" // 生成的so动态库名称

abiFilters "armeabi", "armeabi-v7a", "x86" // 输出指定三种abi体系结构下的so库

}

三 写相关代码

1 新建jni目录

2 新建jni调用类

public class JNIUtils {

// 加载native-jni

static {

System.loadLibrary("native-jni");

}

//java调C中的方法都需要用native声明且方法名必须和c的方法名一样

public native String stringFromJNI();

}

3 打开底部Terminal 进入到 ../src/main/java路径下 生成 .h文件

javah -d jni com.example.bxlt.myapplication.JNIUtils

成功后生成对应文件

image.png

jni路径下新建c文件,保持名字一致

image.png

内容如下

#include "com_example_bxlt_myapplication_JNIUtils.h"

JNIEXPORT jstring JNICALL Java_com_example_bxlt_myapplication_JNIUtils_stringFromJNI

(JNIEnv *env, jobject obj){

return (*env)->NewStringUTF(env,"这里是C++代码");

}

C的内容说明:这三个地方名字一致

image.png

5 Android 调用

TextView tv = findViewById(R.id.tv);

tv.setText(new JNIUtils().stringFromJNI());

image.png

6 SO文件

image.png

总结

以上是生活随笔为你收集整理的android ndk jni so,Android Studio Ndk So 文件的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。