Перейти к содержанию
Fire Monkey от А до Я
  • 0

При запуске отладки на планшете получаю ошбку "Unable to start gdbserver on port '12345' Can't open socket: Permission denied.."


voytalexey

Вопрос

При попытке запустить отладку приложение на планшете стартует, а вот дебаггер нет. Как следствие, точки останова не работают, на паузу не поставить, исключения не увидеть. Пробовал на ХЕ6 и ХЕ7, текст ошибки одинаковый. Замена номера порта в настройках прожекта ошибку не исправляет. На телефоне тот же прожект дебажится нормально. Перезагрузка планшета, Дельфи и компа не помогает. Думал, планшет такой хреновый, но попробовал его прогнать в Android Studio, и там точки останова прекрасно работают, значения переменных прекрасно видны в дебаггере.

Устройство ZIFRO ZT-7004, в дельфе опознается как ZT-7004, в андроид студии как Rockchip ZT-7004.

Версия анроид 4.4.4, версия ядра 3.0.36+

 

Видел подобные вопросы и тут на форуме, и тут ( http://community.embarcadero.com/index.php/answers/android-deploy-to-h-w-error-unable-to-start-gdbserver-on-port-64311 ), и в Embarcadero QC ( http://qc.embarcadero.com/wc/qcmain.aspx?d=126670 ), но удобного решения нигде не видел. 

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Почитал интернеты, поковырял параметры доступных мне устройств. Похоже, пока что единственны метод исправления указан Vincenzo Vicedomini в QC Report 126670.  http://qc.embarcader...n.aspx?d=126670
Всё дело в значении параметра "ro.secure". По-хорошему, значения ro.secured=0 не должно быть на устройствах поступающих в продажу. В хорошо собранной и оттестированной сборке запущенной в релиз, параметр должен быть переведен в единицу. Похоже, некоторые производители дешевых телефонов этой проблемой не заморачиваются, как результат, отладчик не может получить доступ к отлаживаемому приложению.
Посмотреть значение параметра можно запустив Adb.exe, далее войти в консоль (shell), затем посмотреть значения параметров командой getprop. Я пытался поменять этот параметр на ходу используя (setprop ro.secured 1), но он упорно остается в нуле. Параметр хранится в файле default.prop в корне андроида, и тоже недоступен для изменения. Все найденные мой советы по изменению параметра сводились к тому что прошивку надо слить, изменить параметр и залить обратно. Способа изменить параметр без перепрошивки я не нашел.

 

Итого, варианты пока такие:

1. Перепрошивка.

2. Ждать пока Embarcadero исправит QC Report 126670.

3. Искать вариант изменения параметра "ro.secured" без перепрошивки, пусть даже он будет сбрасываться при перезагрузке планшета.

 

Если кто-то найдет третий способ, просьба дать здесь ссылку.

Спасибо.

Ссылка на комментарий
  • 0
  • Администраторы

Причина

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

 

Чтобы обезопасить пользователей, вендоры прибегают, как минимум к двум известным мне решениям:

  1. Блокирование нестандартных портов
  2. Установка антивирусов, блокирующих порты

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

 

Решение

  1. Решение простое, попробовать подобрать такой номер порта, который не будет блокироваться системой.  Как поменять отладочный порт, написано тут.
  2. Отключить антивирус при его наличии.

P.S. Обратите внимание, что все девайсы от Google корректно работают с IDE.

P.S.S. Можете попробовать написать простое приложение, которое будет пробовать открыть сокет на разных портах и просканировать ваше устройство на наличие открытых портов.

Изменено пользователем Brovin Yaroslav
Добавлена ссылка на FAQ на DocWiki о смене номера отладочного порта
Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...