标签:family 包括 翻译 end ase 程序 hand break bit
版权全部 foruok 。如需转载敬请注明出处(http://blog.csdn.net/foruok)。
假设你在目标 Android 设备上执行了 Qt on Android 应用,你可能希望看到程序输出的日志信息。 Android SDK 中有 adb 工具,当你连接了目标设备,能够使用 adb logcat 查看 Android 设备上应用输出的日志。
先介绍一下 adb 工具的使用。一般我经常使用下列命令:
先看头文件 qDebug2Logcat.h :
#ifndef QDEBUG2LOGCAT_H #define QDEBUG2LOGCAT_H #ifdef ANDROID void installLogcatMessageHandler(const char *TAG); #else #define installLogcatMessageHandler(TAG) #endif #endif // QDEBUG2LOGCAT_H
看源文件 qDebug2Logcat.cpp :
#if defined(ANDROID)
#include "qDebug2Logcat.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() 函数前包括 qDebug2Logcat.h 头文件,在 main() 函数体第一行增加以下的代码:
installLogcatMessageHandler("yourLogTag"); 版权全部 foruok 。如需转载敬请注明出处(http://blog.csdn.net/foruok)。
我翻译的大神 BogDan Vatra 的 Qt on Android 系列文章:
我的关于 Qt on Android 的系列文章:
Qt on Android:将Qt调试信息输出到logcat中
标签:family 包括 翻译 end ase 程序 hand break bit
原文地址:http://www.cnblogs.com/claireyuancy/p/6781295.html