Android之——JNI配置C语言打印Logcat信息
16lz
2021-12-04
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47425073
这篇文章给大家介绍一下在JNI中如何为C语言配置打印Logcat信息。首先,这篇文章是在博文《Android之——JNI初探》基础上完善的,所以,请大家先阅读博文《Android之——JNI初探》。好了,我们直接进入主题吧。
一、实现
1、修改Android.mk文件。
在这个配置文件中我们加入如下一行代码:
LOCAL_LDLIBS += -llog注意:这行代码一定要加载include $(BUILD_SHARED_LIBRARY)之前。
具体如下图:
此时Android.mk文件文件的配置如下:
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := helloLOCAL_SRC_FILES := hello.cLOCAL_LDLIBS += -lloginclude $(BUILD_SHARED_LIBRARY)
2、修改hello.c文件
在这个文件中导入以下头文件:
#include <android/log.h>#define LOG_TAG "System.out"#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)
然后在C方法中利用LOGI方法打印Log,
具体如下:
LOGI(" ......From C.....");
修改的配置如图:
hello.c完整代码如下:
#include <stdio.h>#include <jni.h>#include "com_lyz_hdk_helloworld_MainActivity.h"#include <android/log.h>#define LOG_TAG "System.out"#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)JNIEXPORT jstring JNICALL Java_com_lyz_hdk_helloworld_MainActivity_helloFromC(JNIEnv *env , jobject obj){LOGI(" ......From C.....");char *str = "hello from c";jstring jstr = (**env).NewStringUTF(env, str);return jstr;}
二、运行效果
三、温馨提示
大家可以到链接http://download.csdn.net/detail/l1028386804/8992313下载完整的JNI配置C语言打印Logcat信息示例源代码。
本实例中,为了方面,我把一些文字直接写在了布局文件中和相关的类中,大家在真实的项目中要把这些文字写在string.xml文件中,在外部引用这些资源,切记,这是作为一个Android程序员最基本的开发常识和规范,我在这里只是为了方便直接写在了类和布局文件中。
更多相关文章
- NPM 和webpack 的基础使用
- 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
- eclipse android 设置及修改生成apk的签名文件
- Android刷Recovery
- 使用html,javascript,css,phonegap创建开发android应用程序
- 跟Google学习Android开发-工具篇-Android(安卓)Studio入门
- 在android studio 中修改versioncode 和versionname
- Android(安卓)解析XML文件方法
- Android(安卓)Environment.getExternalStorageState使用