如何使用 QT 5.2 在 android 上删除发布输出中的调试模式

Posted

技术标签:

【中文标题】如何使用 QT 5.2 在 android 上删除发布输出中的调试模式【英文标题】:How to remove the debug mode in release output on android with QT 5.2 【发布时间】:2014-02-27 13:34:52 【问题描述】:

我正在寻找如何在没有主动调试模式的情况下使用 qt 为 android 生成文件,我使用 qt 5.2 for android。 输出文件名为 QtApp-debug.apk。 我没有设置项目或在发布模式下删除调试模式。 任何的想法? 谢谢。 从编译输出中提取:

     [echo] Resolving Dependencies for QtApp...
[dependency] Library dependencies:
[dependency] No Libraries
[dependency] 
[dependency] ------------------
     [echo] ----------
     [echo] Building Libraries with 'debug'...
   [subant] No sub-builds to iterate on            
-do-debug:
     [zipalign] Running zip align on final apk...
         [echo] Debug Package: E:\Projects\qtprojects\build-CalcNd-Android_pour_armeabi_v7a_GCC_4_8_Qt_5_2_1-Release\android-build\bin\QtApp-debug.apk

【问题讨论】:

在清单中你可以将调试设置为false,我不确定你将如何在qt中制作清单.. 我必须添加这个选项不会改变任何东西: 【参考方案1】:

在 Qt Creator 中,转到 Projects 并选择 Run 选项。

展开部署配置部分并单击签名包部分中的创建以创建密钥库。

打开“签名包”复选框并确保选择证书别名。

构建你的包,它应该有 -release.apk 后缀。

注意:每次打开 Qt Creator 时,签名包复选框都会关闭。所以,在重新打开的时候,一定要进去重新勾选对包进行签名,否则-debug.apk会神秘返回!

【讨论】:

你好,这个解决方案在英语而不是本地(法语)工作,这是我问题的根源。看bugreports.qt-project.org/browse/QTCREATORBUG-10944 位置已更改为 Build -> Build Android APK -> Sign Package【参考方案2】:

我想我有这个问题的答案。 该文件是在发布模式下与密钥文件一起生成的,只要您在项目中更改某些内容,QtCreator 就不再在发布模式下生成文件,而是在调试模式下生成文件。 然后重新归档具有相同元素的钥匙串。

【讨论】:

以上是关于如何使用 QT 5.2 在 android 上删除发布输出中的调试模式的主要内容,如果未能解决你的问题,请参考以下文章

Android Hello World Qt 5.2

如何在 C4Droid 中编译简单的 Qt 5.2 项目

如何在VS2012下静态构建Qt 4.8/5.2,使用静态MSVC运行时,支持Windows XP?

使用 Qt 5.3 或 Qt 5.4(但不是 Qt 5.2)编译时,QGuiApplication 在手机锁定时停止事件循环

在 Qt 5.2 中替代 QHttp

Qt 5.2 和 5.10 上 OpenGL 的差异