码迷,mamicode.com
首页 > 移动开发 > 详细

android 调用jni 并打印log

时间:2014-12-13 09:38:22      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:native   android   ndk   jni   cpp   

1.创建native方法

public final static native int startservice();

2.选择项目右击Android tools->Add native  support  就会生成jni文件 如图

bubuko.com,布布扣


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

bubuko.com,布布扣

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 调用所显示的

bubuko.com,布布扣


ok 今天就到这里了!!大家有什么问题可以留言 大家一起学习!!


android 调用jni 并打印log

标签:native   android   ndk   jni   cpp   

原文地址:http://blog.csdn.net/lipingaccp/article/details/41901741

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!