#qt #cmake #qtandroidextras
Вопрос:
во-первых, я должен сказать, что я могу создать новый проект, построить и запустить его на своем устройстве Android, но у меня проблема с одним из моих проектов, говорится в выводе компиляции:
06:20:09: Running steps for project MusiQ...
06:20:09: Skipping disabled step Copy application data.
06:20:09: Starting: "F:QtToolsCMake_64bincmake.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:QtToolsCMake_64bincmake.exe" exited normally.
06:20:10: Starting: "F:Qt5.15.0androidbinandroiddeployqt.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:Qt5.15.0androidbinandroiddeployqt.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, поэтому я думаю, что с конфигурацией Qt-Android в QtCreator проблем нет,
Есть идеи, как решить эту проблему? Спасибо
Ответ №1:
решено, это была моя вина:
Я должен добавить библиотеку вместо исполняемого файла для устройства Android:
if (WIN32)
add_executable(target ${target_SOURCES} ${QRC_FILE} ${target_HEADERS})
elseif(ANDROID)
add_library(target SHARED
${target_SOURCES} ${QRC_FILE} ${target_HEADERS}
)
endif()