生成 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的主要内容,如果未能解决你的问题,请参考以下文章
Qt在vs下创建工程,然后想用QtCreator打开这个工程,应该怎么办