c++生成so调用LOGI
前一阵为android程序写了一些c++生成的so文件,但是单文件没法单步调试,导致调用时出现问题后不好定位代码,于是想到在C++程序的关键点打LOGI标记,刚开始遇到些问题,后来终于解决了,现在把解决方法记录下来,方便自己,也方便别人。
首先,在C++或c的开始定义宏,如下:
// 定义info信息
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,TAG,__VA_ARGS__)
// 定义debug信息
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, TAG, __VA_ARGS__)
// 定义error信息
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,TAG,__VA_ARGS__)
然后,修改android.mk文件,这个修改要注意下,是有顺序要求的,这些语句顺序变了,就不成功了,具体为什么,这个没有继续研究。还有是否有其他的正确顺序,也没有多尝试,下面列出的mk文件,在我调用LOGI的时候是匹配的。如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := jni_JNIClass
LOCAL_SRC_FILES := jni_JNIClass.cpp
LOCAL_LDLIBS := -lm -llog
LOCAL_SHARED_LIBRARIES := liblog libcutils
include $(BUILD_SHARED_LIBRARY)
时间太久,忘了application.mk是否要修改,一并贴出
APP_ABI := armeabi armeabi-v7a x86
APP_STL := stlport_static
c++生成so调用LOGI相关推荐
- 使用wsimport生成本地调用代码
使用wsimport生成本地调用的步骤 wsimport是jdk自带的,可以根据wsdl文档生成客户端调用代码的工具. wsimport.exe位于JAVA_HOME\bin目录下. 常用参数为: - ...
- C++中.lib静态库、.dll动态库的生成及调用2
关于动.静态库的介绍及静态库的生成及调用参见:C++中.lib静态库..dll动态库的生成及调用<1>,本文主要介绍基于VS2015平台的动态库dll的生成及调用方法. 一.动态库的生成 ...
- C++中.lib静态库、.dll动态库的生成及调用1
一.前言 1.动态链接库(dll)与静态链接库(lib): 动态链接库(dll)是一个可以被其他应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源.在链接步骤中,连接器将从库文件取得所需的代 ...
- python 批量创建变量_Python批量生成和调用变量
这几天写代码中遇到的一个常见问题,在Python 中如何批量的生成一些变量,如生成变量X1, X2, X3 ,并在后续的方法中调用,完成赋值.取值等操作.这个问题也算是常见的吧,之前遇到过,也不了了之 ...
- Java WebService 接口的简单生成和调用
Java WebService 接口的简单生成和调用 1.打开eclipse创建普通的java项目,写一个类 如下: package com.jspweb.ws;import javax.jws.W ...
- JNI开发笔记(七)--aar库的生成和调用
aar库的生成和调用 引 前言 1. 新建一个空工程 2. 新建一个Module 3. 移植JNI工程到Module中 4. 生成aar库与so库 5. 在另一个工程中调用aar库 引 JNI开发笔记 ...
- linux so 库的生成与调用
本文主要通过导出一个log文件操作的类,来说明linux下so库的生成与调用.先说明一下本文中的几个文件和其作用: 1)ilogfile.h 主要用于定义Clogfile类的借口和声明一个C风格的cr ...
- python调用qt动态库_QT开发——动态库(.so文件)的生成与调用
1.qmake方式生成和调用动态库 链接:https://blog.csdn.net/lywzgzl/article/details/42805991 2.cmake方式生成和调用动态库 2.1创建共 ...
- java扫描接口_一种扫描接口并生成可调用API接口文档的方法与流程
本发明属于JavaWeb开发技术领域,涉及一种API接口文档的生成方法,尤其是一种扫描接口并生成可调用API接口文档的方法. 背景技术: API(Application Programming Int ...
最新文章
- HTML5在豆瓣的各种应用
- 鸟哥的Linux私房菜(基础篇)- 第十五章、磁碟配额(Quota)与进阶文件系统管理
- echart 饼图设置指引线_EXCEL中把饼图砍一半,美观程度瞬间提升
- Caffe抽取图像特征
- unity 让一个数按一秒累加_万物皆数—深挖UWA Benchmark之渲染篇
- java permgen内存泄漏问题处理
- qtdesigner设计表格_实例9 利用Qt Designer设计一个对话框
- 深度学习-吴恩达-笔记-6-优化算法
- (转载)JavaScript中的原型和对象机制
- 菜鸟之路---1,熊猫烧香病毒的简单分析
- MATLAB最新官方中文文档
- activiti6监听器使用
- Asterisk 对VoiceXML 及CSTA的支持
- 微信小程序实例练习——《排班查询》
- 计算机输入法切换用户登录,电脑切换不出来输入法,教您解决切换输入法的问题...
- UA STAT687 线性模型II 最小二乘理论1 普通最小二乘法
- 滴滴的2019:巨亏和裁员之后,群狼将至
- 入行数据科学,推荐几本好书看看
- BERT破的11项纪录具体都是什么?
- spring听课一点+组成原理心得
热门文章
- 夏普电视显示网络无法连接到服务器,彻底解决SQL SERVER 2005无法远程连接的问题...
- 车内看车头正不正技巧_科二曲线行驶技巧图解,蜀黍手把手教你过关!
- 警察蜀黍动真格,抓捕内鬼390余人、黑客近百人
- Michael Jackson Japanese Comic
- 【计算机毕业设计】基于微信小程序的师生答疑平台的设计与实现
- Github从账号创建到上传项目
- Python从Bing壁纸的API接口保存图片
- 孙宇晨为恶俗炒作道歉;华为回应美国子公司裁员 600
- 成熟男人的处事说话技巧
- 三国群英传霸业之王服务器维护,《三国群英传:霸王之业》1月7日维护更新公告...