Нет, конечно, у меня с определением моих девайсов в Delphi XE5 проблем никаких нету вообще. Все устройства, что есть на руках, а это смартфоны: HTC One, HTC Desire S и планшет Prestigio прекрасно увиделись в Delphi XE5 как в бета-версиях, так и в текущей версии. Однако в комментариях к последним статьям о Delphi XE5 ребята говорят, что возникли проблемы…даже с самым что ни есть гугловским девайсом — NEXUS 4. Проблема, на сколько я понимаю, заключается в том, что подключенное через USB-кабель устройство никак не отображается в разделе Target у Project Manager’а и, соответственно, никак не получается «закинуть» проект на устройство, чтобы проверить его работу.
К сожалению, в Delphi XE5 и Android я такой же новичок как и многие из нас, поэтому все, чем я могу помочь в этой ситуации — это приведу подробные настройки свой Delphi и всех необходимых для разработки под Android инструментов — может это поможет избежать кому-то проблем в будущем и решить возникшую проблему.
Итак, для начала скажу что где и как у меня на компьютере установлено.
1. Установлен Java Development Kit. Качал отсюда.
В переменных среды для JDK имеются следующие записи:
2. Установлен Android SDK. Качал самостоятельно, устанавливал туда где было больше свободного места, т.е. при установке Delphi XE5 я отказался устанавливать SDN и NDK.
3. Установлен Android NDK. Как и SDK, качал и устанавливал сам.
4. Установлены USB-драйвера для всех устройств. Для HTC «дрова» ставились автоматом вместе с их утилиткой «Sync Manager». Драйвер на планшет, по-моему, валялся в самом планшете…как поставил его года полтора назад так он и стоит и не падает, короче :)
Всё. Больше ничего другого для разработки под Android не ставил и даже не пытался. Переходим к SDK.
В SDK Manager я установил 17 и 18 API Level, а также Android SDK Build Tools и Google USB Driver. Вид менеджера SDK сморим ниже (кстати, надо бы кое-чего обновить :)):
В Android NDK вообще не лез — просто поставил и забыл. Теперь смотрим в SDK Manager Delphi XE5.
красным я выделил ту настройку, которую я менял самостоятельно, т.е. я просто показал самый верхний уровень Android API.
Как я настраивал SDK в Delphi XE5? Расписываю по пунктам:
1. Заходим в Delphi XE5: Tools -> Options -> SDK Manager
2. Жмем кнопку «Add». Нас просят выбрать платформу. Выбираю «Android», а SDK Version выбирается автоматом. В итоге получаю вот такую картинку:
Не знаю, может остались какие-то записи от предыдущей установки Android SDK или ещё чего, но в списке «Select an SDK version» я выбираю пункт «Add New…», чтобы в на следующем шаге самому указать Delphi где установлен Android SDK, который мне нужен.
3. Вот как должно выглядеть следующее окно настроек SDK, если вы тоже настраиваете все сами:
То есть, путь к JDK должен определиться автоматически, а пути к SDK и NDK мы должны указать самостоятельно.
4. Указываю пути к SDK и NDK и жму «Next»
Если все сделано правильно, то на следующем шаге нам ничего не надо настраивать, кроме API Level — все поля заполнятся автоматически и будут выглядеть примерно так:
Если рядом с каким-то полем появится восклицательный знак, то значит что-то вы не установили или неправильно указали какой-то путь, следовательно — проверяйте все, начиная с первого пункта :)
Жму «Finish» и получаю в SDK Manager’e запись о новом SDk:
Вот и все настройки. Проверим, все ли в порядке. Подключаю к компу HTC One и планшет, захожу в Delphi и обновляю список Target:
Как видите, оба устройства прекрасно видны. Был бы третий кабель целым — подключил бы для прикола и HTC Desire S, чтобы вывести все три устройства в Target, но, что есть то есть :).
Если помог вам, то весьма рад, если нет — ребят, я могу только посоветовать ещё раз прочитать пост «Введение в разработку под Android: инструменты разработчика» где я качал и настраивал инструменты Android-разработчика — может поможет вам решить вашу проблему. А может у вас устройство как и у Андрея? В общем, все возможные варианты решения, какие были — выдал :).
У XE5 есть пробелы с поддержкой андроид устройств, вот что говорит wiki: http://docwiki.embarcadero.com/RADStudio/XE5/en/Android_Devices_Supported_for_Application_Development
обсуждения : http://www.delphifeeds.com/go/s/107859
и вот блог: http://teran.karelia.pro/articles/item_6065.html
Не сочтите за рекламу!
Alex, ду ну, какая реклама? Тем более, что последнюю ссылочку (terran’а) я и сам указал в конце статьи :) Я ни в коем случае не хотел сказать, что проблем вообще нету — я же не тестировал все возможные Android-устройства. Просто стало странно, что Nexus и HTC не увиделись вот и решил расписать, что и как я настраивал — вдруг это поможет решить проблему у ребят. Всякое бывает.
Поиски в инете ответов не дали, попробую спросить здесь. Кто пробовал подключать Sony Xperia, различные модели включая планшет, какие успехи? хочу приобрести себе новый телефон, а возможно планшет от этой фирмы.
Судя по информации с Embarcadero (самая последняя ссылка на wiki) у Delphi XE5 с Sony Xperia U были проблемы.
тут проблема ещё найти устройство на базе ARM архитектуры.
купленный для тестирования самсунга таб 3 оказался на интел проце и будущие версии будут на нем.
натив, неон — для меня немного далеко всё это, но какие устройства я не нашел везде: запуск, черный экран, закрытие.
Влад, проблема разрешилась и очень просто и очевидно. Первое, что подумалось, но руки все не доходили. ОС везде уже пере-установлена на Windows 8 и 8.1. На виртуальной машине развернул Windows 7 , поставил Delphi XE5 , согласившись на все по умолчанию (включая SDK) и все сразу увиделось !!!!
Здравствуйте. Столкнулся с такой проблемой: телефон в Target видится, но при попытке отправить на него приложение выдается ошибка Unable to install Test.apk. Failure [INSTALL_FAILED_CONTAINER_ERROR]. При этом на планшет тот же самый проект успешно отправляется и работает. В cpuinfo на обоих девайсах показывает архитектуру ARM v7, только на планшете ревизия 2, а на телефоне 0. Проект пустой (без кода), на форме TButton и TNotificationCenter. Убираем TNotificationCenter (остается пустая форма с кнопкой) — проект успешно отправляется на телефон, но окно компиляции продолжает висеть в статусе Launching бесконечно, при нажатии Cancel ошибка: Unable to start gdbserver on port '64311'. Port is already in… Подробнее »
По всем пунктам не отвечу, но по поводу ошибки
Unable to start gdbserver on port '64311'. Port is already in use.
в бета-версии помогало следующее — после того как окно компиляции закрыто, ничего не собирается и не заливается на телефон, заходим в Диспетчер задач и убиваем процесс adb.exe.
Тут ситуация немного другая: приложение отправляется на телефон, запускается и работает, но даже после того как из него выйти, окно компиляции не пропадает. После нажатия Cancel появляется вышеописанная ошибка, но после ее закрытия можно снова компилировать и отправлять на устройство. Убивать adb пробовал неоднократно и на другом порту запускал, но это не помогает.
Идея хорошая (как и RadPHP) но либо доведут до ума, либо закончится все приложениями -«Hello, World» (и то если повезет)
Да вроде бы уже три года над FireMonkey бьются — не должны бросить
Немножко не в тему, может есть у кого опыт тестирования на iOS без сертификата разработчика?
что-то слышал про патч на маке XCode, джейлбрейк устройства? с cydia async ставить и много ещё телодвижений — не запомнил.
с ув. Игорь М.
Igor, у меня такого опыта нет…да я и XE4 только мельком просматривал, т.к. на тот момент «железного» iPhone в руках не было — только симулятор :)
Есть другой путь установить виртуальную машину с MacOS и пропатченным XCode
Alex, а не могли бы ткнуть носом где про это прочитать можно?
если как вы пишите не нужно джейлить устройство..
http://www.webdelphi.ru/2012/01/delphi-xe2-hello-mac-os/
По поводу вышеописанных ошибок (INSTALL_FAILED_CONTAINER_ERROR и Unable to start gdbserver on port):
обновил прошивку телефона (Android 4.1.2 -> 4.2.2) — все проблемы ушли.
У меня была проблема с Google драйвером, в видео хорошо все объяснено, мне помогло, может кому еще поможет
Delphi XE5 Android Up and Running (EN) на Youtube
http://www.youtube.com/watch?v=OD4StmnUEUA
Unable to start gdbserver on port ‘64311’. Port is already in use.
Не могу победить эту проблему!!! Порт менял, устрйоство перезагружал…
Можете что-нибудь подсказать ? Андройд версии 4.0.3
Андрей, ну судя по всему на порту 64311 у вас висит какое-то приложение или фаерволом порт закрыт.