Android jni 实例

大家跟着步骤走就行了,有问题请留言(Android Studio 版本为:3.0):

一.创建一个测试类:

public class NDKTestClass {

    static {
        System.loadLibrary("demo");
    }

    native public String getString();
}

二.测试的主类:

public class MainActivity extends AppCompatActivity {

private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView=(TextView) findViewById(R.id.textview);
        textView.setText(new NDKTestClass().getString());
    }
}

三。生成.h文件

打开Terminal,输入如下命令:

javah -jni com.lh.jimtrency.ndkexample.NDKTestClass

但是,在输入这个命令前,要调到到 app/src/main/java 目录下

这里写图片描述

四。创建一个jni文件夹,在创建一个.c文件,Android.mk文件(名字不能变),Application.mk文件(名字不能变)

demo.c文件如下:

#include <jni.h>
JNIEXPORT jstring JNICALL Java_com_lh_jimtrency_lhndkdemo_MainActivity_getString
  (JNIEnv * evn, jobject jzw){

  return (*evn) -> NewStringUTF(evn, "returnValue");
}

Android.mk文件如下:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE    := demo
LOCAL_SRC_FILES := demo.c
include $(BUILD_SHARED_LIBRARY)

Application.mk文件:

APP_ABI:= armeabi-v7a x86 arm64-v8a x86_64
APP_PLATFORM:= android-22

五.terminal中输入如下命令:

注意,你之前一定要配置ndk的路径。
ndk-build

完了,之后会多两个文件夹:

这里写图片描述

六。在App的build.gradle 加上如下代码:

这里写图片描述

好了,打完收工,你的代码可以跑起来了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值