Для отладки приложения через USB-подключение создавать его пакет следует с помощью параметра
‑listen
вместо параметра
-connect
. Если указан параметр
‑listen
, при запуске приложения среда выполнения прослушивает соединение с отладчиком Flash Debugger (FDB) через TCP-порт 7936. Затем следует запустить отладчик FDB с параметром
-p
, чтобы он инициировал подключение.
Процедура отладки USB-подключений для Android
Для того чтобы отладчик Flash Debugger, запущенный на настольном компьютере, мог подключиться к среде выполнения AIR, запущенной на устройстве или в эмуляторе, необходимо использовать утилиту Android Debug Bridge (ADB) из Android SDK или утилиту iOS Debug Bridge (IDB) из набора AIR SDK, чтобы перенаправить порт устройства на порт настольного компьютера.
-
Откройте окно терминала или интерфейс командной строки и перейдите в каталог, в котором находится исходный код приложения.
-
Скомпилируйте приложение с помощью amxmlc, включив поддержку отладки:
amxmlc -debug DebugExample.as
-
Создайте пакет приложения, установив соответствующую цель отладки (например,
apk-debug
), и укажите параметр
‑listen
:
adt -package -target apk-debug -listen -storetype pkcs12 -keystore ../../AndroidCert.p12 DebugExample.apk DebugExample-app.xml DebugExample.swf
-
Подключите устройств для отладки к компьютеру с помощью USB-кабеля (данную процедуру также можно использовать для отладки приложений, запущенных в эмуляторе, и в этом случае USB-соединение устанавливать необязательно, и установить его невозможно).
-
Установка приложения.
Используйте команду ADT
-installApp
:
adt -installApp -platform android -package DebugExample.apk
-
С помощью утилиты Android ADB перенаправьте TCP-порт 7936 с устройства или эмулятора на настольный компьютер:
adb forward tcp:7936 tcp:7936
-
Запуск приложения на устройстве.
-
В окне терминала или командной строке запустите FDB с параметром -p:
fdb -p 7936
-
В окне FDB введите команду
run
:
Adobe fdb (Flash Player Debugger) [build 14159]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
(fdb) run
-
Утилита FDB попытается подключиться к приложению.
-
После установки подключения можно настроить точки остановки с помощью команды FDB
break
, а затем запустить выполнение с помощью команды
continue
:
(fdb) run
Player connected; session starting.
Set breakpoints and then type 'continue' to resume the session.
[SWF] Users:juser:Documents:FlashProjects:DebugExample:DebugExample.swf - 32,235 bytes after decompression
(fdb) break clickHandler
Breakpoint 1 at 0x5993: file DebugExample.as, line 14
(fdb) continue
Примечание.
Порт 7936 используется по умолчанию для отладки по USB средой выполнения AIR и утилитой FDB. С помощью параметра ADB -listen и параметра FDB -p можно указать другой порт. В этом случае следует использовать утилиту Android Debug Bridge, чтобы перенаправить порт, указанный в ADT, на порт, указанный в FDB:
adb forward tcp:adt_listen_port# tcp:fdb_port#
Процедура отладки USB-подключений для iOS
Для того чтобы отладчик Flash Debugger, запущенный на настольном компьютере, мог подключиться к среде выполнения AIR, запущенной на устройстве или в эмуляторе, необходимо использовать утилиту iOS Debug Bridge (IDB) из набора AIR SDK, чтобы перенаправить порт устройства на порт настольного компьютера.
-
Откройте окно терминала или интерфейс командной строки и перейдите в каталог, в котором находится исходный код приложения.
-
Скомпилируйте приложение с помощью amxmlc, включив поддержку отладки:
amxmlc -debug DebugExample.as
-
Создайте пакет приложения, установив соответствующую цель отладки (например,
ipa-debug
или
ipa-debug-interpreter
), и укажите параметр
‑listen
:
adt -package -target ipa-debug-interpreter -listen 16000
xyz.mobileprovision -storetype pkcs12 -keystore Certificates.p12
-storepass pass123 OutputFile.ipa InputFile-app.xml InputFile.swf
-
Подключите устройств для отладки к компьютеру с помощью USB-кабеля (данную процедуру также можно использовать для отладки приложений, запущенных в эмуляторе, и в этом случае USB-соединение устанавливать необязательно, и установить его невозможно).
-
Установите и запустите приложение на устройстве iOS. В AIR 3.4 и более поздних версий можно использовать команду
adt ‑installApp
для установки приложения через USB.
-
Определите дескриптор устройства с помощью команды
idb -devices
(утилита IDB находится в папке
air_sdk_root
/lib/aot/bin/iOSBin/idb
):
./idb -devices
List of attached devices
Handle UUID
1 91770d8381d12644df91fbcee1c5bbdacb735500
Примечание.
(AIR 3.4 и более поздних версий) Для определения дескриптора устройства можно использовать команду
adt ‑devices
вместо команды
idb ‑devices
.
-
Направьте трафик порта компьютера на порт, указанный в параметре
adt ‑listen
(в этом случае — 16000; значение по умолчанию — 7936), с помощью утилиты IDB и идентификатора устройства, определенного на предыдущем этапе:
idb -forward 7936 16000 1
В этом примере 7936 — это порт ПК, 16000 — порт, который прослушивает подключенное устройство, а 1 — идентификатор подключенного устройства.
-
В окне терминала или командной строке запустите FDB с параметром -p:
fdb -p 7936
-
В окне FDB введите команду
run
:
Adobe fdb (Flash Player Debugger) [build 23201]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
(fdb) run
-
Утилита FDB попытается подключиться к приложению.
-
После установки подключения можно настроить точки остановки с помощью команды FDB
break
, а затем запустить выполнение с помощью команды
continue
:
Примечание.
Порт 7936 используется по умолчанию для отладки по USB средой выполнения AIR и утилитой FDB. С помощью параметра IDB -listen и параметра FDB -p можно указать другой порт.