LINUX.ORG.RU

Qt5 и Android

 , , , ,


1

2

Вообщем не хочет собираться apk файл QTCreator выдает сообщение

Ошибка создания пакета: Команда <</usr/bin/ant clean debug>> завершилась с ошибкой. Код завершения: 1

Если зайти в «проект/android» и выполнить в терминале

ant release
то будет ошибка
Buildfile: build.xml

BUILD FAILED
/home/test/code/qt/test/android/build.xml:90: The following error occurred while executing this line:
/home/test/code/dev/AndroidSDK/tools/ant/build.xml:200: No supported regular expression matcher found: java.lang.ClassNotFoundException: org.apache.tools.ant.util.regexp.Jdk14RegexpRegexp

Total time: 0 seconds

OC: Ubuntu
QTCreator: Qt 5.1.1 for Android (Linux 32-bit, 461 MB)
Java: Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Ant: Apache Ant version 1.7.1 compiled on September 3 2011

Ответ на: комментарий от dog_roulis

Подобная проблема только в SUSE 12.3

Из предыдущих сообщений становится понятно, что это косяк ant, и надо доустановить пакет ant-apache-regexp, я так и сделал, попутно установив все доступные опциональные пакеты ant, но проблема не ушла.

При попытке собрать проект в терминале, то выдаёт ошибку

BUILD FAILED
project/android/build.xml:90: The following error occurred while executing this line:
/usr/lib64/android-sdk-linux_x86-r07/tools/ant/build.xml:111: taskdef A class needed by class com.android.ant.SignApkTask cannot be found: com.android.ant.SignApkTask

То есть опять чего-то не хватает, только непонятно чего

pmedved
()
Ответ на: комментарий от pmedved

Решено

Проблема была в некорректном определении JDK.

По умолчанию $JAVA_HOME указывала на JDK-1.5, после того, как указал путь на JDK-1.7, всё заработало.

pmedved
()
Ответ на: комментарий от Adonai

Выставь в projectAndroidManifest.xml и project.properties targetApi меньше, чем у твоего телефона.

Через Android SDK Manager скачал и уставил Android 2.3.3 (API 10) В проекты->запуск->конфигурации создания пакетов->SDK для android указал android-10

Но при запуске на android 2.3.3 только черный экран и статус бар, а на android 4x все нормально

Пробовал в AndroidManifest.xml добавить

<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="10" android:maxSdkVersion="10" />

Но все равно не чего не изменилось

dog_roulis
() автор топика
Ответ на: комментарий от dog_roulis

Проблема была не с парсингом регэкспов, а с некорректным taskdef, как-то неправильно определялись java-классы. Это относилось к JDK-1-5. У меня на машине две версии JDK: 1.5 и 1.7. По умолчанию ant смотрел почему-то на 1.5. Это я выяснил при выводе команды

ant debug -v

После чего поменял пути на JDK-1-7 и всё заработало. Пакеты собираются, запускаются и на эмуляторе и на устройстве. Одно НО. Рабочие пакеты собираются только в отладочной версии. При выборе в Creator`e опции «выпуск», пакеты всё равно собираются командой

ant clean debug

Если самому в консоли в папке с проектом набрать

ant clean release

то пакеты собираются, но не устанавливаются на устройстве. В принципе, это не критично, но хотелось-бы разобраться.

pmedved
()
1 января 2014 г.
Ответ на: комментарий от Black_Shadow

Установил ant-optional,а после yum install ant-apache-regexp пишет

Setting up Install Process

No package ant-apache-regexp available.

Nothing to do

И на apt-get install тоже самое.В чем проблема?

tiprocop
()
Ответ на: комментарий от tiprocop

Ну ты мастер некропостинга.

Сейчас я включу телепатический модуль, узнаю твой дистрибутив (и его версию), схожу в репозиторий твоего дистрибутива, посмотрю, как же там называется аналогичный пакет, и напишу об этом здесь.

Погоди, что-то здесь не так. И вот что: почему я должен за тебя думать?

Black_Shadow ★★★★★
()
Ответ на: комментарий от Black_Shadow

Пардон,я еще только начал осваивать систему,посему не в курсах,даже как спросить. Дистрибутив Ubuntu 12.10. А как посмотреть аналог пакета? Я что-то попытался,но только источники приложений нашел,это все,на что хватило моих скудных познаний и гуглмастерства.

tiprocop
()
Ответ на: комментарий от tiprocop

Если бы это была убунта, команда yum install ant-apache-regexp просто не могла выполниться.

Black_Shadow ★★★★★
()
Ответ на: комментарий от Black_Shadow

Правильно ответили. Просто не убрал галочку с анта при установке necessistas и до этого установил его apt-get. Решение проблемы - удалил ант со всеми зависимостями,скачал архив,распаковал и прописал в креаторе путь к нему. Еще добавил переменную ANT_HOME. На выходе теперь получается апкашник,работающий на устройстве

tiprocop
()
Ответ на: комментарий от Black_Shadow

Ааа.Ну,спасибо за информацию и помощь.По крайней мере,работает то,что мне нужно,а остальное буду решать в процессе освоения системы

tiprocop
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.