android studio使用ndk

编程入门 行业动态 更新时间:2024-10-11 09:29:18

<a href=https://www.elefans.com/category/jswz/34/1771384.html style=android studio使用ndk"/>

android studio使用ndk

新建类HelloWorld实现方法sayHello

public class HelloWorld{
public static native String sayHello();

}


然后clean project 再rebuild project 生成class文件,这时候打开如下图的文件夹看是否生成了classes文件夹,没有生成请重新来过。


再打开Terminal输入指令cd app/build/intermediates/classes/debug

然后再输入指令 javah -jni com.xj.jni.HelloWorld

这时候打开classes/debug下面的文件发现多了一个文件com_xj.jni.HelloWorld.h

然后在src/main下新建文件夹jni,把生成的.h文件复制或者剪切到jni文件夹下面去,新建一个c类随便取一个名字,添加代码如下

JNIEXPORT jstring JNICALL Java_com_xj.jni_HelloWorld_sayHello(JNIEnv *env, jobject obj){ return (*env)->NewStringUTF(env,"这里是来自c的string");
按着提示做就行了 在gradle.properties文件末尾添加 android.useDeprecatedNdk=true 就ok啦

然后在app文件下得build.gradle ->defaultConfig括号内添加如下代码

ndk {    moduleName "NdkJniDemo"          //生成的so名字 abiFilters "armeabi", "armeabi-v7a", "x86" //输出指定三种abi体系结构下的so库,目前可有可无。}
到了这一步重新build项目,发现已经没有变红了。接下来就是运用了,在HelloWorld 类里面添加如下代码

static {    System.loadLibrary("NdkJniDemo");//之前在build.gradle里面设置的so名字,必须一致}
然后简单调用就行了

更多推荐

android studio使用ndk

本文发布于:2024-03-10 06:18:18,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1727207.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:android   studio   ndk

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!