您的位置:首页 > 移动开发 > Android开发

android 调用jni 并打印log

2014-12-12 23:07 190 查看
1.创建native方法

public final static native int startservice();
2.选择项目右击Android tools->Add native  support  就会生成jni文件 如图

3.cd user/alarmTest/bin/命令进入到项目的classes 执行 javah com.li.JNI 包名.类名 可以生成com_yfz_JNI.h文件 然后把com_yfz_JNI.h文件拷贝到jni文件下如图

4修改android.mk文件

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := Test    这个是生成库文件的名字

LOCAL_SRC_FILES := com_li_JNI.cpp     注意这里默认是生成的项目名.cpp这里我们需要改成 包名_类名.cpp 因为生成的里面没有代码所以可以用.h文件的

 

LOCAL_LDLIBS += -L$(SYSROOT)/usr/lib -llog   这一条就是我们要用的android log信息打印的库文件 

include $(BUILD_SHARED_LIBRARY)

5.修改com.li.JNI.cpp

引入二个需要用到的文件相当于java import

#include <jni.h>

#include <android/log.h>

然后在.cpp里面加入因为.h文件里面已经生成了接口在cpp里面要去实现{

__android_log_print(ANDROID_LOG_ERROR, "test-jni", "%s", "error");

//ANDROID_LOG_ERROR 这是android 里面的log级别 这里是error

//test-jni 是android里面的 tag

// "%s" 表示输入的是字符串

//error 是我们打印的内容

}

6.点击project->build project就可以生成so库文件了

7.加载库文件System.loadLibrary("Test");

8.调用jni方法 JNI.startservice();

9.下面就是我们从android 调用所显示的

ok 今天就到这里了!!大家有什么问题可以留言 大家一起学习!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  native android NDK jni cpp