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

Android 在C代码中调用logcat

2016-07-02 14:53 405 查看
本文给《Android java传递int类型数组给C》中添加C代码中调用logcat的功能

Android.mk文件增加以下内容

LOCAL_LDLIBS += -llog

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__)


define C的宏定义 起别名 #define LOG_TAG "System.out" 给"System.out"起别名LOG_TAG

#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)
给 __android_log_print函数起别名 写死了前两个参数 第一个参数 优先级 第二个参数TAG __VA_ARGS__ 可变参数的固定写法
LOGI(...)在调用的时候 用法跟printf()一样

JNICALL Java_com_wuyudong_javapassdata_JNI_arrElementsIncrease(
JNIEnv * env, jobject clazz, jintArray jArray){
jsize len = (*env)->GetArrayLength(env, jArray);
LOGD("length = %d", len);
// jboolean iscopy;
int* arrayPointer = (*env)->GetIntArrayElements(env, jArray, NULL);
int i;
for(i = 0; i < len; i++){
*(arrayPointer + i) += 10;
}
return jArray;

}


获取更多C语言与算法相关知识,关注公众号:“csuanfa”

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: