android jni log
在编写的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的更多相关文章
- android JNI常用添加log方法
android JNI 打log方法 添加库支持 LOCAL_LDLIBS :=-llog -landroid 包含头文件 #include <android/log.h> #define ...
- 如何在ANDROID JNI 的C++中打Log
http://blog.csdn.net/pkigavin/article/details/8583537 最近在研究Android 2.3.3源代码的C/C++层,需要对代码进行一些调试,但是奇怪的 ...
- Android JNI 和 NDK
1.Android NDK 一.NDK产生的背景 Android平台从诞生起,就已经支持C.C++开发.众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第 ...
- 利用gdb 调试android jni c动态库
http://blog.dornea.nu/2015/07/01/debugging-android-native-shared-libraries/ Since I haven't done thi ...
- Android JNI 由C/C++本地代码向Java层传递数据
最近做的Android项目需要调用C代码,进行串口通信及与硬件设备通信,因此要用到JNI,其中本地代码需要向Java层返回三个参数,分别为 参数一:int型: 参数二: 通信指令,本地代码中为unsi ...
- android JNI处理图片的例子
android JNI处理图片的例子 原地址:http://blog.csdn.net/xjwangliang/article/details/7065670 <pre class=" ...
- android JNI 简单demo(2)它JNI demo 写
android JNI 简单demo(2)它JNI demo 写 一.搭建Cygwin 环境:http://blog.csdn.net/androidolblog/article/details/25 ...
- android jni——helloworld
看了网上好多牛人写的学习系列都是用HelloWorld作为开始,我们这里也用HelloWorld来开始我们的学习,首先我们来介绍下JNI吧. JNI作为java代码和C/C++的桥梁而存在的,为了让j ...
- android jni 总复习(转载)
本文全文转载自:http://www.cnblogs.com/shuqingstudy/p/4909089.html,非常感谢 package com.test.androidjni; import ...
随机推荐
- Log4j配置文件例子
Log4j配置文件例子: # Define somedefault values that can be overridden by system properties hbase.root.logg ...
- Linux回环接口-----(loop-back/loopback)
回环接口(loop-back/loopback) Moakap整理 Loopback接口是一个虚拟网络接口,在不同的领域,其含义也大不一样. 1. TCP/IP协议栈中的loopback接口 在TCP ...
- Reusing dialogs with a dialog pool--一个sql server service broker例子
一个sql server service broker例子 ----------------------------------- USE master GO -------------------- ...
- myDate97 设置开始时间和结束时间
myDate97 设置开始时间和结束时间 CreationTime--2018年8月28日16点46分 Author:Marydon 1.简单示例 第一步:引入My97DatePicker/Wda ...
- 【Django】pip 安装和卸载 Django
1.在dos命令中输入pip进行安装 注意:如果提示('pip' 不是内部或外部命令,也不是可运行的程序或批处理文件.) 那么先将pip添加到环境变量中,pip路径一般在python的安装路径下,例如 ...
- jQuery Event.which 属性详解
jQuery Event.which 属性详解 which属性用于返回触发当前事件时按下的键盘按键或鼠标按钮. 对于键盘和鼠标事件,该属性用于确定你按下的是哪一个键盘按键或鼠标按钮. which属性对 ...
- iOS开发-应用之间的跳转及通信
Update 2016-08-12: 在Github的Demo上增加Mac自定义Url Scheme,可以在Safari上输入特定协议头打开应用,并传递参数) 简介 我们接下来将要实现应用程序之间的跳 ...
- VS Code - Debugger for Chrome调试js
最近在自学一些s的内容,用到了vscode来编写代码,一直没有使用过vs调试js的代码,看到左侧有推荐一个插件Debugger for Chrome使用来调试js代码的,对于vs这种开源,需要安装各种 ...
- 关注C++细节——C++11新标准之decltype的使用注意
c++11新特性--decltype decltype是C++11加入的一个新的keyword,目的是选择并返回操作数的数据类型,重要的是,在此过程中编译器分析表达式并得到它的类型,却不实际计算表达式 ...
- Python 列表 max() 方法
描述 Python 列表 max() 方法返回列表元素中的最大值. 语法 max() 方法语法: max(L) 参数 L -- 要返回最大值的列表. 返回值 返回列表元素中的最大值. 实例 以下实例展 ...