实现jni方法

1、创建一个android 工程,包名为 com.test。新建一个类

package com.test;
public class Jni {
public native String getString();
}

通过 dos命令 进入到该类的目录下 输入javac Jni.java 生成Jni.class文件。复制该文件覆盖bin下该文件。

2进入到bin 下(若bin下还有其他目录,则进入到com 的上一层目录) 输入javah -jni com.test.Jni 

生成com_test_Jni.h文件,将该文件拷贝到jni文件夹(没有,则新建一个)里。

3、在com_test_Jni.h 同级目录下创建 com_test_Jni.c文件

#include <stdio.h>
#include <stdlib.h>
#include "com_test_Jni.h"

   JNIEXPORT jstring JNICALL Java_com_test_Jni_getString
  (JNIEnv *env, jobject thiz){
   (*env)->NewStringUTF(env,"Hello world!!!  jni");
   }

然后再创建Android.mk文件(可从NDK的例子中拷贝过来修改) 关键部分

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

4、打开cygwin 进入到刚刚的jni目录下 输入 $NDK/ndk-build,在工程的libs目录下将会生成相应的.so文件。

5、在activity 中 写入

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

Jni jni = new Jni();
        setTitle(jni.getString());

完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值