1 | |
Qt 5.2 + Android31.12.2013, 00:48. Показов 13101. Ответов 6
Метки нет (Все метки)
Доброго дня. Попытался поставить себе 5.2 и попробовать писать под андроид, но не могу скомпилировать приложение под андроидный симулятор. Видимо, что-то не так установил/настроил. Просьба посмотреть и подсказать, что я сделал не правильно или лишнего.
Последовательность действий Скачал со страницы qt-project Qt Online Installer for Windows. Запустил, указал путь установки D:\Qt\5.2, выбрал компоненты по умолчанию, плюс MinGW 4.8.0. Согласно Getting Started with Qt for Android скачал по приведенным ссылкам Android SDK, Android NDK, Ant, JDK. Первые три распаковал (создал для них в папке кьюта подпапку "for.android"), четвертый установил. Указал в настройках Qt Creator (в разделе андроида) пути к ним (насчет NDK он тут же выдает предупреждение: "Отсутствует профиль Qt для архитектуры mips. Для его добавления зайдите в Параметры - Сборка и запуск - Профили Qt", что за профиль - я не знаю). Создаю AVD с дефолтными настройками (API - android-19, ABI - armeabi-v7a), 200МБ. В переменных среды винды добавляю "Переменные среды пользователя": "ANDROID_NDK_ROOT"-"D:\Qt\5.2\for.android\android-ndk-r9c" (при сборке Qt Creator ругается на ее отсутствие) и "JAVA_HOME"-"D:\Program Files\Java\jdk1.7.0_45\bin" (в Getting Started пишут, что нужно ее установить). Создаю в Qt Creator новый проект "Приложение Qt Widgets" (с квиком пока не хочу разбираться), в комплектах выбираю "Android для armeabi-v7a (GCC 4.8, Qt 5.2.0) -Android GCC (arm-4.8)" (также есть вариант без -Android GCC, но у него компилятор не задан, а отладчик не найден) и "Desktop Qt 5.2.0 MinGW 32bit". Запускаю HelloWorld-приложение под десктоп, все нормально. Выбираю комплект Android (например, отладка), жму запуск. В результате: "Проблемы": [install_target] Error 1 "Консоль сборки": (смущают русские буквы в пути) Код
(много черных буковок) 00:36:04: Процесс «D:\Qt\5.2\Tools\mingw48_32\bin\mingw32-make.exe» завершился успешно. 00:36:04: Запускается: «D:\Qt\5.2\Tools\mingw48_32\bin\mingw32-make.exe» INSTALL_ROOT="D:\Qt\5.2\projects\Testing\1\build-Android1-Android_для_armeabi_v7a_GCC_4_8_Qt_5_2_0_Android_GCC_arm_4_8-Отладка\android-build" install ‘Ёб⥬Ґ *Ґ г¤ Ґвбп * ©вЁ гЄ § **л© Їгвм. ‘Ёб⥬Ґ *Ґ г¤ Ґвбп * ©вЁ гЄ § **л© Їгвм. makefile:1683: recipe for target 'install_target' failed mingw32-make: *** [install_target] Error 1 00:36:08: Процесс «D:\Qt\5.2\Tools\mingw48_32\bin\mingw32-make.exe» завершился с кодом 2. Ошибка при сборке/установке проекта Android1 (комплект: Android для armeabi-v7a (GCC 4.8, Qt 5.2.0) -Android GCC (arm-4.8)) Во время выполнения этапа «Копирование данных приложения» 00:36:08: Прошло времени: 00:43. Код
‘Ёб⥬Ґ *Ґ г¤ Ґвбп * ©вЁ гЄ § **л© Їгвм. Project ERROR: You need to set the ANDROID_NDK_ROOT environment variable to point to your Android NDK. Could not read qmake configuration file D:/Qt/5.2/5.2.0/android_armv7/mkspecs/android-g++/qmake.conf. То же, но проект Qt Quick "Проблемы": [copydeploymentfolders] Error 4 Консоль сборки: Код
(черные буковки) Copying application data... ЌҐ¤®ЇгбвЁ¬л© Їгвм ‘Є®ЇЁа®ў *® д ©«®ў: 0. Makefile.Debug:100: recipe for target 'copydeploymentfolders' failed mingw32-make[1]: *** [copydeploymentfolders] Error 4 mingw32-make[1]: Leaving directory 'D:/Qt/5.2/projects/Testing/2/build-Android2Quick-Desktop_Qt_5_2_0_MinGW_32bit-Отладка' makefile:34: recipe for target 'debug' failed mingw32-make: *** [debug] Error 2 01:01:35: Процесс «D:\Qt\5.2\Tools\mingw48_32\bin\mingw32-make.exe» завершился с кодом 2. Ошибка при сборке/установке проекта Android2Quick (комплект: Desktop Qt 5.2.0 MinGW 32bit) Во время выполнения этапа «Сборка» 01:01:35: Прошло времени: 00:13. Код
‘Ёб⥬Ґ *Ґ г¤ Ґвбп * ©вЁ гЄ § **л© Їгвм. Project ERROR: You need to set the ANDROID_NDK_ROOT environment variable to point to your Android NDK. Could not read qmake configuration file D:/Qt/5.2/5.2.0/android_armv7/mkspecs/android-g++/qmake.conf. Getting Started: Добавлено через 1 час 36 минут Поправка: для QtQuick приложения вышеприведенное на самом деле относится к десктопному комплекту (кроме "Основных сообщений" - содержимое этой вкладки осталось еще от андроидного виджет-приложения). Для android-комплекта же имеем следующее: "Проблемы": Код
[install_itemfolder_01] Error 1 Код
02:39:44: Запускается: «D:\Qt\5.2\Tools\mingw48_32\bin\mingw32-make.exe» INSTALL_ROOT="D:\Qt\5.2\projects\Testing\2\build-Android2Quick-Android_для_armeabi_v7a_GCC_4_8_Qt_5_2_0_Android_GCC_arm_4_8-Отладка\android-build" install ‘Ёб⥬Ґ *Ґ г¤ Ґвбп * ©вЁ гЄ § **л© Їгвм. ‘Ёб⥬Ґ *Ґ г¤ Ґвбп * ©вЁ гЄ § **л© Їгвм. makefile:1722: recipe for target 'install_itemfolder_01' failed mingw32-make: *** [install_itemfolder_01] Error 1 02:39:45: Процесс «D:\Qt\5.2\Tools\mingw48_32\bin\mingw32-make.exe» завершился с кодом 2. Ошибка при сборке/установке проекта Android2Quick (комплект: Android для armeabi-v7a (GCC 4.8, Qt 5.2.0) -Android GCC (arm-4.8)) Во время выполнения этапа «Копирование данных приложения» 02:39:45: Прошло времени: 00:04.
0
|
31.12.2013, 00:48 | |
Ответы с готовыми решениями:
6
Откуда берутся атрибуты android:layout_width и android:layout_height в элементе LinearLayout? Работа с файлами android которые находятся не в папке проекта Android Studio Android Studio не находит функцию TextView в пакете Android.Widget Не предлагается установка Android SDK при установке Android Studio |
38 / 32 / 9
Регистрация: 16.07.2012
Сообщений: 70
|
|
31.12.2013, 11:40 | 2 |
При сборки путей не находит.
Вообще то в статье там всё для сборки из исходников. Под андроид давно как то собирал сам, уже точно не помню как, но для готовых бинарников помойму только в креаторе пути надо указать и всё. У меня Creator 2.8, у него отдельно в настройках Андроид просто выбор путей для SDK, NDK, Ant, и JDK. От туда запустил AVD и всё автоматом заработало.
0
|
01.01.2014, 03:05 [ТС] | 4 |
С NDK все в порядке, я с самого начала указал все что нужно. Тем более что Creator умный и, если неправильный каталог укажешь, ругается: "не похоже, что это каталог для чего-то там".
Проблема, как я и подозревал, была в русских символах в путях. Во-первых, папка каждого билда содержит название этого билда (в частности, "Android для armeabi..."), поэтому пришлось клонировать комплект андроида и дать ему имя без кириллицы. Во-вторых, версия - "Отладка"/"Выпуск", пока лечу только изменением языка Qt Creator на английский перед первой сборкой. Как заставить его даже при русском языке подставлять в переменные названия билда только латиницу - не представляю. Так что под эмулятор уже удается запускать, хотя на реальных девайсах еще не удается. Видимо, нужны те самые дрова из Getting Started:
0
|
2 / 2 / 0
Регистрация: 03.01.2014
Сообщений: 8
|
|
03.01.2014, 17:14 | 6 |
Обратил внимание, что при создании приложения на Qt 5.2 под Android на Windows 7 конфликтуют JDK и JRE.
При сборке ошибка вида ...androiddeployqt.exe" exited with code 14. Убил массу времени, но помогло только удаление JRE. После этого приложения стали собираться!
1
|
03.01.2014, 22:46 [ТС] | 7 |
Нашел только настройку имени каталога по умолчанию (Сборка и запуск - Основное - Каталог сборки по умолчанию), но и там дебаг от релиза можно отличать только по CurrentBuild:Name и CurrentBuild:Type, которые оба имеют значение "выпуск"/"отладка".
Как задать каталоги сборкам конкретному проекту - не представляю. Да и вообще, гнилое дао - каждый раз прописывать это заново, вместо того чтобы как-то один раз и на всю жизнь задать корректные пути по умолчанию. Что касается запуска на устройстве, то понадобилось просто включить отладку по USB на планшете, ничего дополнительно устанавливать или настраивать не пришлось.
0
|
03.01.2014, 22:46 | |
03.01.2014, 22:46 | |
Помогаю со студенческими работами здесь
7
Android studio, как запускать программу сразу на android смартфоне подключенному к usb? Ошибка: Caused by Android java.lang.ClassCastException: android.app.Application cannot be cast Как приложение Android написать на С++ в Android NDK, чтоб получить *.apk? Нужен мануал Ошибка в Android Studio Error:No resource identifier found for attribute 'appComponentFactory' in package 'android' Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |