PDA

Просмотр полной версии : Подключение apk к отладчику FD


RAlfDog
15.04.2016, 05:46
Всем доброго дня или ночи!

Никак не могу подключиться к отладчику FlashDevelop, при запуске приложения на планшете (Android).
Компилирую версию с дебаггером:
goto android-debug

:android-debug
set TARGET=-debug
set OPTIONS=-connect %DEBUG_IP%
goto android-packageIP задаю так:
for /f "delims=[] tokens=2" %%a in ('ping -4 %computername% -n 1 ^| findstr "["') do (set thisip=%%a)
set DEBUG_IP=%thisip%пробовал и жестко прописывать, опреляя IP ПК через
cmd -> ipconfigВключаю WIFI, отключаю Касперского, отключаю брендмауэр, включатю на планшете "отладку по USB", включаю на планшете "Эмуляцию расположения" и .... ничего,пишет "Не могу подключиться к отладчику по указанному IP"!

Кто-нибудь имеет опыт такого подключения?

caseyryan
15.04.2016, 06:13
Кто-нибудь имеет опыт такого подключения?
Конечно.
Во-первых сделай компу статический IP, чтобы не приходилось ничего определять через ipconfig, так как этот способ не недажный. DHCP может выдать компу другой айпи при переподключении. У моего компа локальный адрес всегда 192.168.1.10
Во-вторых, брандмауэр виндоус и брандмауэр каспера хреново дружат между собой. Если установил касперского, то сразу отключай родной виндовский. У касперыча брандмауэр отключать не обязательно, достаточно добавить эту вайфай сеть как "доверенную". Но если отключил, минусом это не будет конечно.
После отключения брандмауэров, обязательно перезагрузи комп, и убедись, что они не запустились снова. Теоретически процедура не обязательная, но на практике много раз сталкивался с тем, что брандмауэр продолжал блокировать соединения даже после отключения. Отключался полностью только после перезагрузки компа.
Еще одно. Проверь с другого компа (если есть возможность) подключенного к этой же сети, пингуется ли вообще твой рабочий комп. Вполне возможно, что в wi-fi маршрутизаторе стоит свой фаерволл и nat, первый может блокировать соединения (что конечно вряд ли для локалки), а второй может заблокировать порт отладчика. Убедись, что он не блокирует порты по умолчанию. В нете пишут, что отладчик AIR использует порт 7936, но я бы на всякий случай разблокировал все порты

Еще можешь попробовать вообще с телефона подключиться к компу через какую-нибудь прогу. Например ES Explorer это умеет. Там есть вкладка LAN, на которой можно добавить сервер, прописать в него адрес твоего компа, и попробовать подключиться.

Ах да, чуть не забыл. Может конечно это очевидно, но все-таки. Убедись что в FD отладчик в это время запущен. Debug - Start Remote Session. Может забыл включить просто


п.с. В FD можешь не прописывать IP адрес, укажи его прямо на девайсе, когда вылетит окно с запросом. Хоть это и не удобно, но зато будешь уверен, что не накосячил чего-нибудь с файлами конфигов и адрес передается точно правильный

RAlfDog
15.04.2016, 06:19
Спасибо, буду пробовать.

Еще вопрос:
AIR на девайсе пробует подключиться к отладчику минут 5, прежде чем показывает окно о том, что не удалось - я один такой особенный, или у всех так?
Т.е. 5 минут или около того я сижу перед чёрным экраном и пью чай.

caseyryan
15.04.2016, 06:32
У меня сразу появляется окно, если не удается подключиться. Так же как и сразу подключается, если удается. 5 минут это что-то вообще перебор

ShockWave512
16.04.2016, 02:05
AIR на девайсе пробует подключиться к отладчику минут 5
да нормально, если приложение на девайсе не видит ip адрес компа
и планшет и комп должны быть в одной подсети, то есть в айпи адресах должна отличаться только последняя цифра, например 192,168,1,30 и 192,168,1,155

RAlfDog
16.04.2016, 04:18
Есть контакт!

У меня Windows на виртуальной машине (рабочий МасBook с MacOS, а FlashDevelop на Windows через Parallels), немножко попотел и настроил:

1.
Parallels -> Настройки -> Дополнитель -> Сеть
выставляем "Общая"
Ставим галочку "Включить IPv4"
IP-адреса прописываем 192.168.1.xxx - 192.168.1.xxx (начальный - конечный)
Маску подсети ставим 255.255.255.0

2.
Виртуальная машина -> Действия ->Настроить -> Оборудование -> Сеть
!ВАЖНО! Тип с "Общая сеть" меняем на "Мостовая сеть" - только тогда виртуальная машина будет видна в домашней сети! Подробнее здесь (http://kb.parallels.com/ru/4948).
В Windows на виртуальной машине открываем "Панель управления\Сеть и Интернет\Центр управления сетями и общим доступом" и в свойствах текущего сетевого подключения прописываем
статический IP-адрес (TCP/IPv4 -> Свойства) вида 192.168.1.xxx
маску подсети 255.255.255.0
основной шлюз 192.168.1.1
основной DNS 8.8.8.8
альтернативный DNS 8.8.4.4

3.
В настройках роутера/маршрутизатора/интернет-центра
для нового появившегося устройства в списке устройств в домашней сети устанавливаем тоже статический IP-адрес такой же, какой был выставлен в пункте выше в виртуальной машине.

caseyryan
16.04.2016, 09:02
да нормально, если приложение на девайсе не видит ip адрес компа


Да не, нифига это не нормально. Что оно там ищет 5 минут? Или чего ждет? Если айпи не виден, то отвал происходит сразу. Я хочу сказать, что если дело происходит 5 минут, то дело точно не в IP адресе

ShockWave512
16.04.2016, 10:29
отвал сразу был на старых сдк, где то с 20-й версии вот такая пауза

caseyryan
16.04.2016, 11:12
отвал сразу был на старых сдк, где то с 20-й версии вот такая пауза

Значит скорее всего с 21й. У меня сейчас 20я, и отваливается сразу

RAlfDog
17.04.2016, 16:06
Заметил что отваливается сразу, если пытается подключиться по адресу в той же подсети (первые три числа IP-адреса одинаковые),
а если пытается достучаться куда-то "наружу", то виснет на несколько минут.
(18-я версия SDK)

RAlfDog
02.05.2016, 20:02
Теперь вдруг отладчик в FD перестал запускать автоматически при компиляции проекта.

Делаю вручную, подключается, но через минуту отваливается:
- компилирую приложение
- приложение запускается на планшете
- отображается AIR-окно (на планшете) подключения к отладчику
- в FD запускаю отладчик вручную (Debug -> Start Remote Session)
- ввожу IP-адрес в AIR-окне на планшете и жму ОК
- в FD пишет "[Starting debug session with FDB]"
- и через минуту в FD вижу окно с текстом "Internal Debugger Exception"
дебаггер отвалился

В чём же беда?

Добавлено через 2 часа 5 минут
Пересмотрел все файлы настроек и нашел закомментированную строчку

<!--<debug>true</debug>-->
в C:\Users\МОЁ_ИМЯ\AppData\Local\FlashDevelop\Apps\flexairsdk\4.6.0+21.0.0\frameworks\airmobile-config.xml

Не знаю правильное ли это решение, но раскомментирование решает проблему отваливания отладчика через минуту после включения.

А вот автовключение отладчика при компиляции не смог решить - перелопатил все настройки FD, ничего не нашёл.
Установка новой версии FD не помогла.

caseyryan
03.05.2016, 09:31
Ну, отладчик там на джаве работает. Проверь какая версия джавы стоит. Вполне возможно не совместимая версия, и где-то из-за этого и отваливается. По крайней мере это первое, что приходит в голову

RAlfDog
04.05.2016, 12:32
Да, яву я сразу обновил.
Проблему с "отваливанием" я решил - включил дебаггер в airmobile-config.xml, а вот автоматический запуск дебаг-сессиии в FD при компиляции пока не получается восстановить.

ShockWave512
04.05.2016, 12:44
Вы случаем не путаете компиляцию (F8) с запуском (F5) ? При компиляции никакой отладчик не запускается.

RAlfDog
04.05.2016, 12:57
Я имею в виде Build and Test (с запуском батника на установку в устройство и тест после компиляции)

caseyryan
04.05.2016, 18:32
Да, яву я сразу обновил.
Ее надо не обновить, а установить подходящую http://www.flashdevelop.org/wikidocs/index.php?title=F.A.Q

ShockWave512
04.05.2016, 18:42
пинг с устройством проверить, может там что то в сети обрывается, именно по айпи дебажным

RAlfDog
05.05.2016, 19:33
Ее надо не обновить, а установить подходящую

Ява у меня стояла 1.6, на которой перестал работать, сейчас 1.8 (не рекомендуемую 1.7 я проскочил).

Добавлено через 3 минуты
пинг с устройством проверить, может там что то в сети обрывается

Да нет, сейчас всё нормально работает, ничего не обрывается, всё ок.
Не могу настроить автоматом запуск дебаггер при запуске теста. Руками приходится запускать - если не успел, то приходится каждый раз вводить IP, надоедает.

Добавлено через 7 минут
Что интересно, перестал запускаться на ровном месте.
Т.е. я ничего не настраивал, не менял никаких XML:
1) жму "Тест" - дебаггер есть
2) подправил код
3) жму "Тест" - дебаггер есть
4) подправил код
5) жму "Тест" - дебаггера нет
и всё больше так и не появился