Android Studio NDK开发

本文讲述使用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.点击运行,效果如下图。
效果展示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值