在Android上构建Qt应用程序时出错

问题描述 投票:0回答:2

首先,我应该说我可以创建一个新项目并在我的 Android 设备上构建和运行它, 但我的一个项目有问题,编译输出显示:

06:20:09: Running steps for project MusiQ...
06:20:09: Skipping disabled step Copy application data.
06:20:09: Starting: "F:\Qt\Tools\CMake_64\bin\cmake.exe" --build . --target MusiQ
jom: parallel job execution disabled for Makefile
[  5%] Automatic MOC and UIC for target MusiQ
[  5%] Built target MusiQ_autogen
[100%] Built target MusiQ
06:20:10: The process "F:\Qt\Tools\CMake_64\bin\cmake.exe" exited normally.
06:20:10: Starting: "F:\Qt\5.15.0\android\bin\androiddeployqt.exe" --input F:/project/MusiQ/build-MusiQ-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_15_0_for_Android-Release/android_deployment_settings.json --output F:/project/MusiQ/build-MusiQ-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_15_0_for_Android-Release/android-build --android-platform android-29 --jdk "C:/Program Files/Java/jdk1.8.0_271" --gradle
Cannot find application binary MusiQ.
06:20:10: The process "F:\Qt\5.15.0\android\bin\androiddeployqt.exe" exited with code 2.
Error while building/deploying project MusiQ (kit: Android for armeabi-v7a,arm64-v8a,x86,x86_64 (Clang Qt 5.15.0 for Android))
When executing step "Build Android APK"
06:20:10: Elapsed time: 00:01.

不知道第2行是否有问题,跳过禁用的步骤复制...

但是启动 androiddeployqt.exe 后,在第 10 行,日志显示:找不到应用程序二进制文件

我不知道如何解决这个问题,因为实际上,编译后生成的文件中有 MusiQ 二进制文件, 也正如我之前所说,我可以在我的 Android 设备上运行和部署其他项目,所以我认为 QtCreator 中的 Qt-Android 配置没有问题,

知道如何解决这个问题吗? 谢谢你

qt cmake qtandroidextras
2个回答
1
投票

解决了,是我的错:

我应该为 Android 设备添加 library 而不是 executable

if (WIN32)
    add_executable(target ${target_SOURCES} ${QRC_FILE} ${target_HEADERS})
elseif(ANDROID)
    add_library(target SHARED
        ${target_SOURCES} ${QRC_FILE} ${target_HEADERS}
    )
endif()

0
投票

@Ahmad Mansoori,我相信在 Qt6 中,解决方案是在两个平台上使用 qt_add_executable() 。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.