在编写的jni时,经常需要输出打印信息进行调试,而C中printf在jni中没有效果,这时就需要使用NDK提供的函数。

1. jni中包含头文件
#include <android/log.h>

头文件中包含的函数都可以使用

2. 添加ndk对log支持
build.gradle
ndk{
//如果要答应log就需要添加, 否者会报log函数未定义
ldLibs "log"
//指定生成模块名字,也就是最终的动态库名hello-jni,相应库文件名libhello-jni.so moduleName "hello-jni"
moduleName "xxxxx"
// 指定生成哪些处理器架构的动态库文件,如果要运行在x86架构处理器一定需要指定 abiFilters "armeabi" , "x86"
abiFilters "armeabi" , "x86"
}
3. 方便使用,进行宏定义。
#define TAG "log"
#define LOGE(fmt, args...) __android_log_print(ANDROID_LOG_ERROR, TAG, fmt, ##args)
Author

Tony Liu

2016-8-13, Shenzhen

android jni log的更多相关文章

  1. android JNI常用添加log方法

    android JNI 打log方法 添加库支持 LOCAL_LDLIBS :=-llog -landroid 包含头文件 #include <android/log.h> #define ...

  2. 如何在ANDROID JNI 的C++中打Log

    http://blog.csdn.net/pkigavin/article/details/8583537 最近在研究Android 2.3.3源代码的C/C++层,需要对代码进行一些调试,但是奇怪的 ...

  3. Android JNI 和 NDK

    1.Android NDK 一.NDK产生的背景 Android平台从诞生起,就已经支持C.C++开发.众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第 ...

  4. 利用gdb 调试android jni c动态库

    http://blog.dornea.nu/2015/07/01/debugging-android-native-shared-libraries/ Since I haven't done thi ...

  5. Android JNI 由C/C++本地代码向Java层传递数据

    最近做的Android项目需要调用C代码,进行串口通信及与硬件设备通信,因此要用到JNI,其中本地代码需要向Java层返回三个参数,分别为 参数一:int型: 参数二: 通信指令,本地代码中为unsi ...

  6. android JNI处理图片的例子

    android JNI处理图片的例子 原地址:http://blog.csdn.net/xjwangliang/article/details/7065670 <pre class=" ...

  7. android JNI 简单demo(2)它JNI demo 写

    android JNI 简单demo(2)它JNI demo 写 一.搭建Cygwin 环境:http://blog.csdn.net/androidolblog/article/details/25 ...

  8. android jni——helloworld

    看了网上好多牛人写的学习系列都是用HelloWorld作为开始,我们这里也用HelloWorld来开始我们的学习,首先我们来介绍下JNI吧. JNI作为java代码和C/C++的桥梁而存在的,为了让j ...

  9. android jni 总复习(转载)

    本文全文转载自:http://www.cnblogs.com/shuqingstudy/p/4909089.html,非常感谢 package com.test.androidjni; import ...

随机推荐

  1. java实现双向循环链表

    java实现循环链表:http://www.cnblogs.com/lixiaolun/p/4643911.html 在单链表中,查询下一个元素的时间是O(1).查询上一个元素的时间却是O(n). 为 ...

  2. Python Post and Get 登陆web后台系统并抓取页面

    #coding=utf8 #! /usr/bin/env python import httplib import re import socket import urllib timeout = 6 ...

  3. 判断IE浏览器版本的精简脚本

    IE浏览器不管是什么版本,总是跟Web标准有些不太兼容.对于代码工作者来说,自然是苦不堪言,为了考虑IE的兼容问题,不管是写 CSS 还是 JS,往往都要对 IE 特别对待,这就少不了做些判断.本文不 ...

  4. [odroid-pc] ubuntu12.04 64bit Android4.0.3 源码编译报错及解决的方法

    第一个错误:         host Executable: cmu2nuance (out/host/linux-x86/obj/EXECUTABLES/cmu2nuance_intermedia ...

  5. 虚拟机VMware下CentOS6.5安装教程图文详解(VMnet8)

    (写在最前面:如果你下载的iso文件 CentOS-6.*-x86_64-minimal.iso 系列,那么需要这么安装:https://blog.csdn.net/lixianlin/article ...

  6. composer error when run composer update

    本篇文章由:http://xinpure.com/composer-error-when-run-composer-update/ 错误 很多时候即使是常用的命令也会出现一些奇奇怪怪的错误, 难以预知 ...

  7. AutoFac文档(转载)

    目录 开始 注册组件 控制范围和生命周期 用模块结构化Autofac xml配置 与.net集成 深入理解Autofac 指导 关于 词汇表 开始 程序集 如果你正在使用Nuget包管理器,你可以通过 ...

  8. SQL Server2005 两台服务器上的数据库同步(转载)

    1.1测试环境 Item 发布机 A 订阅机 B OS Windows 2003 Server Windows 2003 Server SQL SQL Server 2005 企业版 SQL Serv ...

  9. JSON传参

    通过javascript将数据组织成json格式,然后传到java后台. 注意:前台json数组传参到后台时候需要将对象(json或json数组)转换成字符串(字符串数组). Simple: 1.前台 ...

  10. maven ArtifactTransferException:failure

    手动下载对应jar放在本地仓库 -> Update Dependencies(Maven4Myeclipse:eclipse上maven插件)