在搭建好Qt on Android的开发环境,我们就可以使用Qt开发安卓应用程序了。但是通过USB口连接安卓手机进行真机调试时,我们可能会发现无法使用qDebug函数输出调试信息。这个时候我们可以使用adb输出调试信息。adb在android SDK中,使用前请先安装android SDK并设置相应的环境变量。下面以一个简单的Qt程序为例子讲解adb的使用,该程序的作用是创建一个界面,在界面中有一个按钮,每点一次这个按钮都会输出一次调试信息。

 

clog.h

#ifndef CLOG_H#define CLOG_H#include #define LOG_TAG "QtDebug"//#define LOGW(str)  __android_log_write(ANDROID_LOG_WARN,LOG_TAG,str)#define LOG(...)  __android_log_print(ANDROID_LOG_DEBUG ,LOG_TAG, __VA_ARGS__)#endif // CLOG_H

 

mainwindow.h

#ifndef MAINWINDOW_H#define MAINWINDOW_H#include namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{    Q_OBJECTpublic:    explicit MainWindow(QWidget *parent = 0);    ~MainWindow();private slots:    void onBtnClicked();private:    Ui::MainWindow *ui;};#endif // MAINWINDOW_H

 

main.cpp

#include "mainwindow.h"#include int main(int argc, char *argv[]){    QApplication a(argc, argv);    MainWindow w;    w.show();    return a.exec();}

 

mainwindow.cpp

#include "mainwindow.h"#include "ui_mainwindow.h"#include "clog.h"MainWindow::MainWindow(QWidget *parent) :    QMainWindow(parent),    ui(new Ui::MainWindow){    ui->setupUi(this);    connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(onBtnClicked()));    LOG("hehe");}MainWindow::~MainWindow(){    delete ui;}void MainWindow::onBtnClicked(){    static int count = 0;    LOG("clicked:%d",count++);}

 

 

mainwindow.ui

 

要想输出调试信息,先在cmd中输入:

adb logcat -cadb logcat -s QtDebug

 

然后在QtCreator中点击运行按钮,将程序部署到手机

 

 

即可看到命令提示符中输出了相应的调试信息

更多相关文章

  1. android NDK开发在本地C/C++源代码中设置断点单步调试详细教程
  2. Android:在service和activity之中,实现音乐播放进度条传递信息的两
  3. Android中解决破解签名验证之后导致的登录授权失效问题
  4. Android(安卓)Mms专题之:信息发送流程
  5. 这可能是最好的 Android/Kotlin日志输出方法
  6. android出现注: 某些输入文件使用或覆盖了已过时的 API。 注: 有
  7. hook android api伪造设备信息做刷量
  8. Android(安卓)开启个人热点时 获取连接人数以及连接上的设备信息
  9. 在Android中自定义捕获Application全局异常,可以替换掉系统的强制

随机推荐

  1. android中AVD的使用
  2. 初识Android
  3. 【转】有关Android线程的学习
  4. 【Android】Android开发规范详解
  5. Android智能电视应用程序开发浅谈(一)
  6. Android单元测试初探——Instrumentation
  7. android:layout_gravity 和 android:grav
  8. Linux与Android的关系
  9. 【雨松MOMO】Android(安卓)软件开发与游
  10. 详解Android(安卓)JS相互调用