Android Studio NDK开发

来源:互联网 发布:淘宝设置发货地址 编辑:程序博客网 时间:2024/05/22 10:23

本文讲述使用Android Studio进行NDK开发的基本步骤,实现从native层获取字符串并显示到TextView上。

1.编写类加载

public class JniUtils {    static {        System.loadLibrary("testlib");    }    public static native String getString();}

2.点击Build ->Rebuild Project,然后打开Terminal窗口,进入\app\src\main\java 目录下,使用下面命令生成.h头文件。

javah -d ../jni 包名+类名(JniUtils)javah -d ../jni com.tingw.jnidemo11.JniUtils

3.在jni文件夹下新建一个c\c++文件,编写C代码。
这里写图片描述

#include "com_tingw_jnidemo11_JniUtils.h"//从生成的.h头文件中将方法复制过来,添加返回值。JNIEXPORT jstring JNICALL Java_com_tingw_jnidemo11_JniUtils_getString  (JNIEnv *env, jobject obj)  {    return (*env)->NewStringUTF(env,"Hello World JNI");  }

4.在gradle.properties添加以下代码,声明使用NDK。

android.useDeprecatedNdk=true

5.在app的build.gradle中,声明.so文件的名称。

 defaultConfig {        applicationId "com.tingw.jnidemo11"        minSdkVersion 21        targetSdkVersion 24        versionCode 1        versionName "1.0"        ndk {            //名字必须和System.loadLibrary("testlib")的名字一致。            moduleName = "testlib"        }    }

6.在Activity中设置调用返回string值。

textqqq = (TextView) findViewById(R.id.textqqq);textqqq.setText(JniUtils.getString());

7.点击运行,效果如下图。
效果展示

0 0