Ошибка компоновки при сборке APK-файлов приложений QML - PullRequest
0 голосов
/ 28 декабря 2018

Я использую Qt 5.12 на компьютере с Windows 7 X64 и ниже Устройства на Qt Creator 4.8:

enter image description here

Как показано, SDK, NDK и JDK кажутся нормальными.

По этому пути я создал простой проект QML под названием «test_1»:

File => NewФайл или проект => Приложение (шаблон) => Приложение Qt Quick - Пусто => Имя проекта (Test_1) => (Система сборки) qmake => Минимально необходимая версия Qt 5.12 => Наборы (Android X86, Arm7 и Desktop) => Готово

И вот код:

import QtQuick 2.12
import QtQuick.Window 2.12

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello QML World")
}

Пакеты SDK также следующие:

enter image description here

Здесь что-то не так?

Теперь тестируем программу, используя комплекты :
Рабочий стол : OK
Android X86 или Arm7 : Faild

Вот все содержимое окна Compile Output в красномцвет:

ОТКАЗ:Сбой сборки с исключением.

  • Что пошло не так: не удалось выполнить задачу ': processDebugResources'.Не удалось установить связь с ресурсом Android. Выходные данные: C: \ Users \ Abbasi \ Desktop \ Q_Apps \ QML_Apps \ Test_1 \ build-Test_1-Android_for_armeabi_v7a_Clang_Qt_5_12_0_for_Android_ARMv7-Debug \ android-build \ build \ build \est \est \est \ промежуточные_процессы \ merged_Manif_Manif_Manif_ManF_ManF_F_D_FILS_Medged_Medged_Medif_Manif_MF_MF_DF: ошибка: 'direction | uiMode | screenLayout | screenSize | smalllestScreenSize | layoutDirection | locale | fontScale | клавиатура | клавиатураHidden | навигация | mcc | mnc | плотность "несовместима с атрибутами configChanges (attr) flags [locale = 4, fontScale = 1073741824,клавиатура = 16, клавиатура скрыта = 32, layoutDirection = 8192, mcc = 1, mnc = 2, навигация = 64, ориентация = 128, screenLayout = 256, screenSize = 1024, smalllestScreenSize = 2048, сенсорный экран = 8, uiMode = 512].ошибка: не удалось обработать манифест.

Команда: C: \ Users \ Abbasi.gradle \ caches \ transforms-1 \ files-1.1 \ aapt2-3.2.0-4818971-windows.jar \ 83adb1c826b3da76392f22b7ff050e9c \aapt2-3.2.0-4818971-windows \ aapt2.exe ссылка -I \ C: \ Users \ Abbasi \ AppData \ Local \ Android \ sdk \ platform \ android-21 \ android.jar \ --manifest \ C: \ Users\ Abbasi \ Desktop \ Q_Apps \ QML_Apps \ Test_1 \ build-Test_1-Android_for_armeabi_v7a_Clang_Qt_5_12_0_for_Android_ARMv7-Debug \ android-build \ build \ middleates \ merged_manifests \ debug \ processD \ \ \ \ \ififD:\ Q_Apps \ QML_Apps \ Test_1 \ build-Test_1-Android_for_armeabi_v7a_Clang_Qt_5_12_0_for_Android_ARMv7-Debug \ android-build \ build \ промежуточные_ процессоры \ debug \ processDebugResources \ out \ resources \ Users \ Desktop \ debug.C: \ debug \ Desktop: debug.C: \Q_Apps \ QML_Apps \ Test_1 \ встроенного Test_1-Android_for_armeabi_v7a_Clang_Qt_5_12_0_for_Android_ARMv7-Debug \ Android-сборка \ сборка \ промежуточных \ инкрементного \ processDebugResources \ ресурсосберегающего список за ресурсы-debug.ap_.txt \ --auto-add-overlay \ --java \ C: \ Users \ Abbasi \ Desktop \ Q_Apps \ QML_Apps \ Test_1 \ build-Test_1-Android_for_armeabi_v7a_Clang_Qt_5_12_0_for_Android_ARMv7-build \ build \ Debug \ build \ Debugnot_namespaced_r_class_sources \ debug \ processDebugResources \ r \ --custom-package \ org.qtproject.example.Test_1 \ -0 \ apk \ --no-version-vectors Демон: AAPT2 aapt2-3.2.0-4818971-windows Демон # 0 Вывод: C: \ Users \ Abbasi \ Desktop \ Q_Apps \ QML_Apps \ Test_1 \ build-Test_1-Android_for_armeabi_v7a_Clang_Qt_5_12_0_for_Android_ARMv7-Debug \ android-build \ build \ промежуточные файлы \ merged_manifeses \ merged_manifesf \ \ debug: \ \ \ \ \'Ориентация | uiMode | screenLayout | screenSize | smalllestScreenSize | layoutDirection | locale | fontScale | клавиатура | keyboardHidden | навигация | mcc | mnc | плотность "несовместима с атрибутом configChanges (attr) flags [locale = 4, fontScale = 1073741824, клавиатура = 16, keyboardHidden = 32, layoutDirection = 8192, mcc = 1, mnc = 2, навигация = 64, ориентация = 128, screenLayout = 256,screenSize = 1024, наименьший ScreenSize = 2048, сенсорный экран = 8, uiMode = 512].

ошибка: не удалось обработать манифест.Команда: C: \ Users \ Abbasi.gradle \ caches \ transforms-1 \ files-1.1 \ aapt2-3.2.0-4818971-windows.jar \ 83adb1c826b3da76392f22b7ff050e9c \ aapt2-3.2.0-4818971-windows \ aapt2.exe -I \ C: \ Users \ Abbasi \ AppData \ Local \ Android \ sdk \ platform \ android-21 \ android.jar \ --manifest \ C: \ Users \ Abbasi \ Desktop \ Q_Apps \ QML_Apps \ Test_1 \ build-Test_1-Android_for_armeabi_v7a_Clang_Qt_5_12_0_for_Android_ARMv7-Debug \ Android-сборка \ сборка \ промежуточного \ merged_manifests \ Debug \ processDebugManifest \ слиты \ AndroidManifest.xml \ -o \ C: \ Users \ Аббаси \ Desktop \ Q_Apps \ QML_Apps \ Test_1 \ встроенного Test_1-Android_for_armeabi_v7a_Clang_Qt_5_12_0_for_Android_ARMv7-Debug \android-build \ build \ промежуточные \ процесс_res \ debug \ processDebugResources \ out \ resources-debug.ap_ \ -R \ @C: \ Users \ Abbasi \ Desktop \ Q_Apps \ QML_Apps \ Test_1 \ build-Test_1-Android_for_armeabi_v7a_Clang_Qt_for_7-build \ build \ middleates \ incremental \ processDebugResources \ resources-list-for-resources-debug.ap_.txt \ --auto-add-overlay \ --java \ C: \ Users \ Abbasi \ Desktop \ Q_Apps \ QML_Apps \ Test_1 \ build-Test_1-Android_for_armeabi_v7a_Clang_Qt_5_12_0_for_Android_ARMv7-Debug \ android-build \ build \ генерируемый \ not_namespaced_r_class_sources \\ \\ \\\\\\\ \ \ \ \ \ \ \ \ не\ apk \ --no-version-vectors Демон: AAPT2 aapt2-3.2.0-4818971-windows Daemon # 0

  • Попробуйте: Запустите с параметром --stacktrace, чтобы получить трассировку стека,Запустите с параметром --info или --debug, чтобы получить больше вывода журнала.Запустите с параметром --scan, чтобы получить полное представление.

  • Получите дополнительную помощь по https://help.gradle.org

СБОЙ СТРОИТЕЛЬСТВА за 7 с 14 выполнимых задач: 1 выполнено, 13актуальный Сборка пакета Android не удалась!- Для получения дополнительной информации выполните эту команду с --verbose.13:40:16: процесс «C: \ Qt \ 5.12.0 \ android_armv7 \ bin \ androiddeployqt.exe» завершился с кодом 14. Ошибка при сборке / развертывании проекта Test_1 (комплект: Android для armeabi-v7a (Clang Qt 5.12.0 для Android ARMv7)) При выполнении шага «Сборка Android APK»

я даже выбрал android-ndk-r17c-windows-x86_64.zip и заменил его на NDK r18b , но без изменений в результате!

В чем проблема, пожалуйста?Разве это не связано с путем, которым я создал проект?Я думаю, что вы тоже создаете приложения для Android, используя комплект Arm7, и создание приложения является частью его создания.Таким образом, должен быть какой-то способ решить проблему.Согласен?Не могли бы вы помочь

1 Ответ

0 голосов
/ 28 декабря 2018

Кажется, что даже если в документации Qt написано API 21, он на самом деле не работает, я получаю те же самые явные ошибки, если нацеливаюсь на API 21.

Кроме того, рынок Google в настоящее время не принимаетприложения, которые нацелены на что-либо ниже API 26. И это быстро движущаяся цель.

Это, однако, не означает, что вы должны ограничивать себя устройствами с Android 8 или выше.Вы можете указать нижний предел API в файле манифеста.

Активируйте комплект Android для своего проекта, затем перейдите в настройки проекта, в Build Steps разверните панель Build Android APK, установите Android build SDK до andrid-28.Далее, внизу, есть кнопка Create Templates - нажмите ее, чтобы создать редактируемый файл манифеста.После того, как вы щелкнете по нему, он добавит файл AndroidManiest.xml в ваш проект.Дважды щелкните по нему, чтобы открыть его в редакторе манифеста, затем установите Minimum required SDK на 19, а целевой SDK на 28.

Это также означает, что вам действительно нужен только API 28, кажется, что сами API«обратная совместимость» со старыми версиями, что означает, что вам не нужен API 19, чтобы использовать его как минимально требуемую версию.Пока вы предоставляете минимальную минимальную версию, приложение должно работать нормально, даже если оно предназначено для последней версии.

...