Android Jni开发之eclipse中创建Jni程序和打印log

运行环境:eclipse

一般创建jni程序需要如下几个步骤

一、创建JNI目录

在src目录下新建一个Jni的子目录

二、编写native java层方法

在java层编写响应的native方法,代码如下

public static native String getStringFromNative();

三、又分成以下几步

1、生成jni头文件,进入项目目录下,通过javah生成.h文件,如下图所示

                              

产生响应的的.h文件,代码如下

JNIEXPORT jint JNICALL Java_com_lin_myjin_MyJniMethod_getadd
  (JNIEnv *, jobject, jint);

2、编写 java Native 代码,新建一个对应的.c文件,实现该方法,代码如下

#include "stdio.h"
#include "com_vince_jnidemo_MainActivity.h"

JNIEXPORT jstring JNICALL Java_com_vince_jnidemo_MainActivity_getStringFromNative
  (JNIEnv *env, jclass jclas){

	return (*env)->NewStringUTF(env,"hello Jni");
}

3、配置android.mk文件,代码如下

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE    := jnidemo
LOCAL_SRC_FILES := com_vince_jnidemo_MainActivity.c

include $(BUILD_SHARED_LIBRARY)
4、进入项目目录下编译,生成.so文件,如下图所示

                              

5、在我们的类中添加如下代码,把生成的响应的.so文件加载到项目中

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

至此,一个jni小项目完成了。

jniDemo:http://download.csdn.net/detail/u012350993/9425564


Ok,上面主要是介绍了如何在项目中使用jni,下面看下如何在c文件中打印log,其实这些都不要记,只需要知道如何是用就可以,我们可以找到对应ndk文件夹下samples打开里面的native-media,查看里面是怎样打印log的,我们可以直接拿过来用就可以了。

我们发现只需要做一下两点就可以了,

首先,修改mk文件加入,

# for logging
LOCAL_LDLIBS    += -llog
其次,在.c文件中加入

#include <android/log.h>
#define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE, TAG, __VA_ARGS__)
至此,我们就可以在我们的代码中使用了,代码如下

LOGV("hello Jni %s","log success");
运行之后,我们可以log中看到对应的信息


其实我们可以再ndk中找到如下路径的文件:E:\java\android-ndk-r9d\platforms\android-14\arch-arm\usr\include\android\log.h其实我们引用的就是这个文件,打开文件之后,我们可以采用不同定义,打印不同的信息。

源代码如下(注:该代码是在上面的基础上添加的):

http://download.csdn.net/detail/u012350993/9425781



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值