生成 APK 时 QtCreator 发生 ProcessException

Posted

技术标签:

【中文标题】生成 APK 时 QtCreator 发生 ProcessException【英文标题】:ProcessException occures in QtCreator while generating APK 【发布时间】:2019-04-03 09:20:54 【问题描述】:

我有一个现有的 QtCreator 项目,我想在 android 上运行。当我使用适用于 Windows 的工具包编译和运行时,一切正常。但是在为Android编译应用程序时,我总是在最后一步“Build Android APK”中出现这个错误。

规格:

开发主机:win10 x64 andorid comile 平台:23、26、27、28 andorid ndk 版本:r19c、r18b java版本:1.8.0_201

错误信息:

:compileDebugAidl FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileDebugAidl'.
> java.io.IOException: com.android.ide.common.process.ProcessException: Error while executing process C:\dev\android\sdk-tools-windows-4333796\build-tools\29.0.0-rc1\aidl.exe with arguments -pC:\dev\android\sdk-tools-windows-4333796\platforms\android-28\framework.aidl -oC:\workspace\projects\build-Proj-Android_for_armeabi_v7a_Clang_Qt_5_12_0_for_Android_ARMv72_765240-Debug\android-build\build\generated\source\aidl\debug -IC:\dev\Qt\5.12.0\android_armv7\src\android\java\src -IC:\workspace\projects\build-Proj-Android_for_armeabi_v7a_Clang_Qt_5_12_0_for_Android_ARMv72_765240-Debug\android-build\src -IC:\workspace\projects\build-Proj-Android_for_armeabi_v7a_Clang_Qt_5_12_0_for_Android_ARMv72_765240-Debug\android-build\aidl -IC:\workspace\projects\build-Proj-Android_for_armeabi_v7a_Clang_Qt_5_12_0_for_Android_ARMv72_765240-Debug\android-build\src\debug\aidl -dC:\Users\user1\AppData\Local\Temp\aidl8241234200511438554.d C:\dev\Qt\5.12.0\android_armv7\src\android\java\src\org\kde\necessitas\ministro\IMinistro.aidl

由于我能够在 QtCreator 中使用新创建的项目重现此问题,因此我的设置一定有问题。

我很感谢解决这个问题的每一个提示......

【问题讨论】:

看起来像一个 gradle 构建,你能用--stacktrace 运行它,以便我们得到更好的主意吗? 【参考方案1】:

这是 Android SDK Platform Tools 29.0.0 的错误。 解决方案是将构建强制降级为使用 v. 28.0.3。

在你的构建目录中找到文件,我的是:C:\dev_qt\experiments\build-test_qt_5_13_0_ARMv7-Release\android-build\gradle.properties 和改变 来自:androidBuildToolsVersion=29.0.0 至:androidBuildToolsVersion=28.0.3

确保拥有 Android SDK Platform Tools 28.0.3 签入Android studio->Tools->SDK Manager->SDK Tools->Flag 'Show package details'

【讨论】:

【参考方案2】:

我尝试了 Albertino80 的修复,但没有奏效,然后我只是将我的工具包的构建目录放到了像 C:\User\MyUser\build 这样非常小的东西上。我在某处读过构建文件夹的真正大名称给出了这个错误。不知道是否还需要 Albertino80 的修复,但我想不需要,因为它是使用 SDK 30 版构建的。

【讨论】:

以上是关于生成 APK 时 QtCreator 发生 ProcessException的主要内容,如果未能解决你的问题,请参考以下文章

QtCreator中pro项目文件格式说明

QtCreator中pro项目文件格式说明

由于 proguard 规则,生成签名 APK 时出错

Qt在vs下创建工程,然后想用QtCreator打开这个工程,应该怎么办

如何解决在等级失败错误中添加 pro-guard 后生成 apk 的问题?

pyconfig.h 致命错误 'io.h' 找不到文件