文章目录

  • 安卓调试
  • 安卓日志
    • adb 加入path
    • adb 查看日志
    • 将Qt调试信息输出到logcat中
  • 工程中使用
  • 参考文档

推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家: Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习

安卓开发,目前主要在windows下开发,虽然可以调试,但是有些库不好调试,只能经过打印来进行。
在上一章中《Qt android 开发环境搭建》中正常搭建环境,按F5就能对工程进行调试。或者如下图:

进行调试

安卓调试

安卓日志

adb 加入path

找到adb所在的路径,并将其加入PATH中。

adb未加入PATH
加入PATH中

重新打开cmd窗口,adb正常

adb 查看日志

adb logcat

这样的日志,太多查看起来比较麻烦。
我们可以写入文件中,再通过工具来进行分析,查找。
adb logcat > log.log
使用notepad++ 打开log.log

将Qt调试信息输出到logcat中

CMakeLists.txt

# 需要添加这一句
target_link_libraries( android_vlc PRIVATE log )

log.h

#ifndef __LOG_H__
#ifndef __LOG_H__#ifdef ANDROID
void installLogcatMessageHandler(const char *TAG);
#else
#define installLogcatMessageHandler(TAG)
#endif#endif

log.cpp


#if defined(ANDROID)
#include "log.h"
#include <android/log.h>
#include <QDebug>
#include <QByteArray>static const char *g_TAG = 0;
static void messageOutput2Logcat(QtMsgType type,const QMessageLogContext &context,const QString &msg)
{int prio = ANDROID_LOG_VERBOSE;QByteArray localMsg = msg.toLocal8Bit();switch (type) {case QtDebugMsg:prio = ANDROID_LOG_DEBUG;break;case QtWarningMsg:prio = ANDROID_LOG_WARN;break;case QtCriticalMsg:prio = ANDROID_LOG_INFO;break;case QtFatalMsg:prio = ANDROID_LOG_FATAL;abort();}__android_log_write(prio, g_TAG, localMsg.data());
}void installLogcatMessageHandler(const char *TAG)
{g_TAG = (TAG == 0 ? "QDebug" : TAG);qInstallMessageHandler(messageOutput2Logcat);
}#endif

在main中使用
main.cpp

#include "log.h"
#include <QApplication>
#include <QDebug>
#include <QMutex>int main()
{QApplication a(argc, argv);installLogcatMessageHandler("android_log");qDebug() << "Debug";qWarning() << "qWarning";qInfo() << "qInfo";qCritical() << "qCritical";return a.exec();
}

测试

工程中使用

开发中,Qt android生成的可执行的工程包,是一个.so文件,最终打包成一个apk,这里如果工程中有多个.so 就不好去单独调试了,这里就更好的去使用日志打印输入。来跟进项目

参考文档

Qt on Android:将Qt调试信息输出到logcat中
QT for android编写的程序如何输出调试信息到android的log日志

Qt android 打印调试相关推荐

  1. Android app:用Log方法打印调试信息 (Log.v,Log.d,Log.i,Log.w,Log.e)以及修改LogCat的颜色

    Android app:Log方法打印调试信息 (Log.v,Log.d,Log.i,Log.w,Log.e)和修改LogCat的颜色 一.包含Log类,import android.util.Log ...

  2. android上调试H5小工具

    由于android上,部分网页报错,网页直接调试是看不到的或者显示不够具体,此app方便H5开发人员,查看具体错误打印.并未做到分步调试. 而部分类似格式错误,IOS上,由于本身的严谨性可能会反而不报 ...

  3. android adb调试技巧

    参考链接 超详细的dubug教程 Android Studio 调试技巧 Android中开发需要的高效助推的命令总结 Android adb shell am 命令介绍 adb shell dump ...

  4. [免费专栏] Android安全之动态调试APP的一些技巧「Android Studio调试」

    也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 Android安全付费专栏长期更新,本篇最新内容请前往: [ ...

  5. 逮虾户!Android程序调试竟简单如斯

    逮虾户!Android程序调试竟简单如斯 PS:行吧,不用百度了,逮虾户是<头文字D>的一首配乐<Deja vu>,中文谐音 "逮虾户",飙车漂移专用BGM ...

  6. Android程序调试方法介绍

    静态调试 适用于:通过打印变量的值来查看某一时刻值是否正确 Toast(Snackbar)打印法 一般的Android开发人员最爱的调试法,使用简便,仅需一行代码,轻松打印: Toast.makeTe ...

  7. Android RIL 调试分析全记录 No APN found for carrier

    Android RIL 调试分析全记录 以前没有调试过RIL的东西, 从零开始, 花了两周时间,终于拨号成功,这里发表出来与大家共享经验,少走弯路. 上一篇文章是一个成功拨号的Android RIL ...

  8. 使用Android模拟器调试linux内核

    使用Android模拟器调试linux内核 为什么需要调试linux内核 如何在Android上调试内核 开发环境 创建模拟器 下载goldfish内核源码 编译goldfish内核 编译内核遇到的问 ...

  9. Unity中使用Profiler进行Android远程调试

    Unity中使用Profiler进行Android远程调试 这两天研究了下Profiler进行远程调试Android, 查看内存和CPU使用情况等. 原来其实就研究过, 只是很久不用又忘了, 所以写文 ...

最新文章

  1. 青岛...沙尘暴!太可怕了~什么事儿都有!
  2. PaddleHub 1.0正式发布: 一键模型加载,十行代码完成迁移学习
  3. POI Workbook接口和HSSFWorkbook对象和XSSFWorkbook对象操作相应excel版本
  4. CRM_ORDER_PR_ASSIGN_SELECT_CB
  5. 车站计算机联锁系统的仿真设计,车站计算机联锁仿真设计.doc
  6. unity使用屏幕后处理实现闪烁特效,创建新的shader文件过程
  7. 新版应急预案现场处置应急演练方案各行业应急处置方案(共289份,265M)
  8. 后天淘宝客cms系统源码
  9. 在Visio中如何绘制直线
  10. SolidWorks参数化设计中Excel的应用
  11. Xmind 2022 Mac思维导图软件
  12. EMV技术学习和研究(九)终端行为分析
  13. 笔记——嵌入式软件开发学习(一)
  14. 【Unity VR开发】结合VRTK4.0:创建滑块
  15. MySQL 一条语句实现若记录存在则更新,不存在则插入
  16. 【托业】【怪兽】TEST02
  17. 软件测试有效性指标,如何衡量软件测试的有效性?
  18. Java JDK 8u221开发环境搭建
  19. Git 详细教程之一: Git 简介及其基本工作原理
  20. SAP MM 已使用物料启用批次管理

热门文章

  1. 使用Element的 InfiniteScroll 无限滚动组件报错
  2. Linux在线安装MySQL
  3. PSP 1000, PSP 2000, PSP 3000, PSP Go 相关
  4. [oeasy]教您玩转python - 0006 - 自由软件运动和开源运动
  5. Swoft 踩坑笔记一 - 安装Swoft并启动
  6. 侵犯公民个人信息罪怎么判刑
  7. ISTP(CPCI)会议论文不复杂的几个检索步骤
  8. AutoCAD 2017 Essential Training AutoCAD 2017基础培训 Lynda课程中文字幕
  9. 你能分清比例和比率吗?
  10. LTE物理信道PCFICH--学习笔记