Android中调用c函数来打印log---(JNI)

原创 2015年11月18日 18:43:04

c语言打印log输出,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__)

1.MainActivity.java

package com.itheima.ccalljava;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends Activity {

	static{
		System.loadLibrary("hello");
	}
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}

	public void click(View v){
		helloC();
	}
	
	public native void helloC();

}

2.hello.c

#include <jni.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 void JNICALL Java_com_itheima_ccalljava_MainActivity_helloC
  (JNIEnv * env, jobject obj){
	//打印log输出
	LOGD("hello xiaodou");
	LOGI("hello xiaoxia");
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

Android JNI编程(八)——体验AS2.2.2编写Jni程序、Java调C、C调Java函数、将C代码中的Log打印至Logcat

不得不说在AS2.2以上的版本进行开发就一个字——爽,在2.0上使用jni出现各种问题现在果断使用新版本开发了。 使用AS2.0创建Jni项目: 使用AndroidStudio编写第一个JNI程序...
  • a_zhon
  • a_zhon
  • 2016年12月03日 16:44
  • 1200

JNI调试C/C++的log打印

1. 导入log头文件 在你使用的 .c/ .cpp 文件中 导入 log.h 头文件  #include 2.在Android.mk 中 加上 LOCAL_LDLIBS :=-...
  • huangxiaominglipeng
  • huangxiaominglipeng
  • 2014年11月24日 16:44
  • 4392

Android之——JNI配置C语言打印Logcat信息

这篇文章给大家介绍一下在JNI中如何为C语言配置打印Logcat信息。首先,这篇文章是在博文《Android之——JNI初探》基础上完善的,所以,请大家先阅读博文《Android之——JNI初探》。好...
  • l1028386804
  • l1028386804
  • 2015年08月11日 19:12
  • 2449

02_JNI中Java代码调用C代码,Android中使用log库打印日志,javah命令的使用,Android.mk文件的编写,交叉编译

1  编写以下案例(下面的三个按钮都调用了底层的C语言):项目案例的代码结构如下:2 编写DataProvider的代码: package com.example.ndkpassdata;...
  • toto1297488504
  • toto1297488504
  • 2015年08月02日 16:58
  • 1188

Android JNI编程(八)——体验AS2.2.2编写Jni程序、Java调C、C调Java函数、将C代码中的Log打印至Logcat

不得不说在AS2.2以上的版本进行开发就一个字——爽,在2.0上使用jni出现各种问题现在果断使用新版本开发了。 使用AS2.0创建Jni项目: 使用AndroidStudio编写第一个JNI程序...
  • a_zhon
  • a_zhon
  • 2016年12月03日 16:44
  • 1200

JNI开发第二篇通过反射实现C中调用java代码,并实现Log打印日志

C中调用java代码,主要运用在C代码执行耗时操作时候来进行对UI的实时性的改变,比如做图像处理的时候,可能图像较大,处理时间较长,那么就可以通过这个技术来实时更新处理的进度,下面我们通过代码来看具体...
  • mengxin1995
  • mengxin1995
  • 2016年09月08日 19:01
  • 863

android 调用jni 并打印log

1.创建native方法 public final static native int startservice(); 2.选择项目右击Android tools->Add native  supp...
  • lipingaccp
  • lipingaccp
  • 2014年12月12日 23:07
  • 688

Android Studio 2.0下创建jni应用调用本地C函数(转)

详细步骤 一:新建工程HelloFromJni 二:配置工具 1 切换到project视图右键打开Module setting,添加NDK目录 2 在build...
  • jialiang_chen
  • jialiang_chen
  • 2016年07月25日 09:37
  • 139

android jni c/c++线程通过CallVoidMethod调用java函数出现奔溃问题

最近在移植p2p库到android平台,需要用到jni,最近在c线程了调用java函数的时候出现一个问题,假如在同一个线程调用java函数是没问题的,但在一个c线程了调用java函数就出现奔溃问题,下...
  • hyl999
  • hyl999
  • 2017年11月08日 15:20
  • 107

Android Studio 2.0下创建jni应用调用本地C函数

本文转载自:http://www.2cto.com/kf/201604/498790.html开发环境jdk1.8.0_77 sdk 25.1.1 ndk android-ndk-r11c-windo...
  • u012424449
  • u012424449
  • 2016年06月06日 16:25
  • 775
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android中调用c函数来打印log---(JNI)
举报原因:
原因补充:

(最多只允许输入30个字)