Выполните следующие шаги, чтобы настроить Tradefed с помощью Eclipse.
Создайте отдельное рабочее пространство для разработки Trade Federation, не используйте повторно рабочее пространство, уже использованное для разработки Android-устройств.
При необходимости вы можете загрузить Eclipse IDE для разработчиков Java по адресу: eclipse.org/downloads.
Создавайте проекты
- Запустите make один раз из командной строки. Это приведет к созданию внешних библиотек, зависящих от проектов ниже.
- Установите переменную пути к классам TRADEFED_ROOT в
Window > Preferences > Java > Build Path> Classpath Variables
и укажите ее на корень исходного кода, полученный с помощью tradefed. - Установите переменную пути TRADEFED_ROOT в
Window > Preferences > General > Workspace > Linked Resources
и укажите ее на корень вашего источника tradefed. Используйте мастер
File > Import...-> General > Existing Projects into workspace"
чтобы перенести эти проекты Java с открытым исходным кодом по следующим путям:prebuilts/misc/common/ddmlib\* tools/loganalysis tools/loganalysis/tests tools/tradefederation/core tools/tradefederation/core/tests tools/tradefederation/contrib tools/tradefederation/core/remote platform_testing/libraries/health/runners/longevity/host platform_testing/libraries/annotations platform_testing/libraries/health/composers/host
При желании, если вы хотите просмотреть исходный код
ddmlib
, прикрепите исходный код из отдельной ветки инструментов, например /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java .При необходимости, если вы также хотите загрузить проекты жгутов CTS, импортируйте:
test/suite_harness/common/util test/suite_harness/common/host-side/util test/suite_harness/common/host-side/tradefed
Автоматический формат
ПРИМЕЧАНИЕ. Необходимые файлы находятся в development/ide/eclipse
в полном дереве исходного кода платформы. Поэтому вам нужно будет проверить ветку платформы, например main
, чтобы получить эти файлы: /development/main/ide/eclipse/
Используйте файлы настроек в Eclipse, чтобы автоматически установить форматировщик в соответствии с руководством по стилю Android. Чтобы сделать это в Студии:
- Перейдите в «Окно» > «Настройки» > «Java» > «Стиль кода» .
- В разделе Formatter импортируйте файл
android-formatting.xml
. - В разделе «Организация» > «Импорт» импортируйте файл
android.importorder
.
Удалить конечные пробелы
Чтобы заставить Eclipse удалить все конечные пробелы:
- Перейдите в «Окно» > «Настройки» -> «Java» -> «Редактор» -> «Сохранить действия» .
- Затем Дополнительные действия -> Настройка -> Код > вкладка «Организация» -> Форматер .
- Установите флажок «Удалить конечные пробелы» .
- Нажмите «Применить» и «Закрыть» .
Проверьте стиль кода
При отправке списка изменений запускается автоматический перехватчик предварительной загрузки для проверки формата вашего кода: google-java-format
Это помогает форматировать ваш код в соответствии с общим стандартом.
Отладка Eclipse
Если вы хотите запустить код TF через отладчик в Eclipse, рекомендуется сначала создать модульный тест для рассматриваемого кода, поскольку это будет самый простой и быстрый способ проверить функциональность.
Чтобы отладить модульный тест TF, просто щелкните его правой кнопкой мыши и выберите «Отладка как» > «Тест JUnit» .
Чтобы отладить функциональный тест TF, следуйте инструкциям по запуску функционального теста из предыдущего раздела, но используйте меню «Выполнить» > «Отладка конфигураций» .
Чтобы отладить саму программу TF, при запуске любой конфигурации следуйте инструкциям из предыдущего раздела по запуску функционального теста, но укажите аргументы командной строки для конфигурации, которую вы хотите запустить на шаге 4. Итак, для отладки конфигурации «инструмента»: перейдите в меню «Выполнить» > «Конфигурация отладки» и установите на вкладке «Аргументы» в конфигурации отладки Eclipse значение -- package <package to run> instrument
.
Удаленная отладка с помощью Eclipse
Выполните следующие действия для удаленной отладки сеанса tradefed, запущенного из командной строки tradefed.sh
:
- Запустите tradefed.sh с флагом отладки:
TF_DEBUG=1 tradefed.sh
- Подождите, пока вы не увидите это приглашение от JVM:
Listening for transport dt_socket at address: 10088
Это означает, что JVM ожидает подключения отладчика к порту10088
. - Подключитесь к удаленной отладке Eclipse из главного меню: выберите «Выполнить» > «Конфигурации отладки...» .
- Во всплывающем диалоговом окне выберите «Удаленное приложение Java» в меню слева.
- Нажмите значок «Новая конфигурация запуска» на панели действий.
- Назовите конфигурацию по своему желанию и выберите tradefederation в качестве проекта.
- Заполните порт, используя адрес, указанный ранее.
- Перейдите на вкладку «Источник» и добавьте проекты tradefederation и google-tradefed в путь поиска источника .
- Нажмите «Отладка» , чтобы начать сеанс отладки.
Отладчик подключается к прослушивающему процессу JVM, а терминал, на котором работает tradefed.sh
отображает приглашение tf>
.
Чтобы выполнить код в режиме отладки, установите точку останова в Eclipse и вызовите команду Tradefed (т. е. run <test>
) в терминале. Чтобы отладить что-либо во время запуска TF, вы можете сначала установить точку останова, а затем подключить отладчик Eclipse.
СОВЕТ: Чтобы использовать альтернативный порт, добавьте TF_DEBUG_PORT=nnn
к команде на шаге 1 выше. Вы даже можете использовать это в производственной среде, если у вас есть загадочные ошибки зависания, которые нужно исследовать: измените suspend=y
на suspend=n
в tradefed.sh
и начните с флага отладки. JVM не будет ждать подключения отладчика, но вы можете сделать это в любое время, пока процесс еще работает.
Удаленная отладка с использованием JDB
Чтобы использовать Java Debugger JDB, выполните действия, аналогичные действиям для Eclipse:
- Запустите
tradefed.sh
с флагом отладки:TF_DEBUG=1 tradefed.sh
- Подождите, пока не увидите приглашение от JVM:
Listening for transport dt_socket at address: 10088
. Подключите
jdb
. Например, из root запустите:jdb -attach 10088 \ -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
Дождитесь соединения и приступайте к отладке! Запустите
man jdb
для получения дополнительной помощи.
Изучите покрытие кода
- Установите плагин Eclemma .
- Откройте «Справка» > «Установить новое программное обеспечение» и укажите мастеру адрес: http://update.eclemma.org/.
- После установки выберите параметр «Покрытие как» > «JUnit test», чтобы выполнить проверку покрытия кода.
Выполните следующие шаги, чтобы настроить Tradefed с помощью Eclipse.
Создайте отдельное рабочее пространство для разработки Trade Federation, не используйте повторно рабочее пространство, уже использованное для разработки Android-устройств.
При необходимости вы можете загрузить Eclipse IDE для разработчиков Java по адресу: eclipse.org/downloads.
Создавайте проекты
- Запустите make один раз из командной строки. Это приведет к созданию внешних библиотек, зависящих от проектов ниже.
- Установите переменную пути к классам TRADEFED_ROOT в
Window > Preferences > Java > Build Path> Classpath Variables
и укажите ее на корень исходного кода, полученный с помощью tradefed. - Установите переменную пути TRADEFED_ROOT в
Window > Preferences > General > Workspace > Linked Resources
и укажите ее на корень вашего источника tradefed. Используйте мастер
File > Import...-> General > Existing Projects into workspace"
чтобы перенести эти проекты Java с открытым исходным кодом по следующим путям:prebuilts/misc/common/ddmlib\* tools/loganalysis tools/loganalysis/tests tools/tradefederation/core tools/tradefederation/core/tests tools/tradefederation/contrib tools/tradefederation/core/remote platform_testing/libraries/health/runners/longevity/host platform_testing/libraries/annotations platform_testing/libraries/health/composers/host
При желании, если вы хотите просмотреть исходный код
ddmlib
, прикрепите исходный код из отдельной ветки инструментов, например /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java .При необходимости, если вы также хотите загрузить проекты жгутов CTS, импортируйте:
test/suite_harness/common/util test/suite_harness/common/host-side/util test/suite_harness/common/host-side/tradefed
Автоматический формат
ПРИМЕЧАНИЕ. Необходимые файлы находятся в development/ide/eclipse
в полном дереве исходного кода платформы. Поэтому вам нужно будет проверить ветку платформы, например main
, чтобы получить эти файлы: /development/main/ide/eclipse/
Используйте файлы настроек в Eclipse, чтобы автоматически установить форматировщик в соответствии с руководством по стилю Android. Чтобы сделать это в Студии:
- Перейдите в «Окно» > «Настройки» > «Java» > «Стиль кода» .
- В разделе Formatter импортируйте файл
android-formatting.xml
. - В разделе «Организация» > «Импорт» импортируйте файл
android.importorder
.
Удалить конечные пробелы
Чтобы заставить Eclipse удалить все конечные пробелы:
- Перейдите в «Окно» > «Настройки» -> «Java» -> «Редактор» -> «Сохранить действия» .
- Затем Дополнительные действия -> Настройка -> Код > вкладка «Организация» -> Форматер .
- Установите флажок «Удалить конечные пробелы» .
- Нажмите «Применить» и «Закрыть» .
Проверьте стиль кода
При отправке списка изменений запускается автоматический перехватчик предварительной загрузки для проверки формата вашего кода: google-java-format
Это помогает форматировать ваш код в соответствии с общим стандартом.
Отладка Eclipse
Если вы хотите запустить код TF через отладчик в Eclipse, рекомендуется сначала создать модульный тест для рассматриваемого кода, поскольку это будет самый простой и быстрый способ проверить функциональность.
Чтобы отладить модульный тест TF, просто щелкните его правой кнопкой мыши и выберите «Отладка как» > «Тест JUnit» .
Чтобы отладить функциональный тест TF, следуйте инструкциям по запуску функционального теста из предыдущего раздела, но используйте меню «Выполнить» > «Отладка конфигураций» .
Чтобы отладить саму программу TF, при запуске любой конфигурации следуйте инструкциям из предыдущего раздела по запуску функционального теста, но укажите аргументы командной строки для конфигурации, которую вы хотите запустить на шаге 4. Итак, для отладки конфигурации «инструмента»: перейдите в меню «Выполнить» > «Конфигурация отладки» и установите на вкладке «Аргументы» в конфигурации отладки Eclipse значение -- package <package to run> instrument
.
Удаленная отладка с помощью Eclipse
Выполните следующие действия для удаленной отладки сеанса tradefed, запущенного из командной строки tradefed.sh
:
- Запустите tradefed.sh с флагом отладки:
TF_DEBUG=1 tradefed.sh
- Подождите, пока вы не увидите это приглашение от JVM:
Listening for transport dt_socket at address: 10088
Это означает, что JVM ожидает подключения отладчика к порту10088
. - Подключитесь к удаленной отладке Eclipse из главного меню: выберите «Выполнить» > «Конфигурации отладки...» .
- Во всплывающем диалоговом окне выберите «Удаленное приложение Java» в меню слева.
- Нажмите значок «Новая конфигурация запуска» на панели действий.
- Назовите конфигурацию по своему желанию и выберите tradefederation в качестве проекта.
- Заполните порт, используя адрес, указанный ранее.
- Перейдите на вкладку «Источник» и добавьте проекты tradefederation и google-tradefed в путь поиска источника .
- Нажмите «Отладка» , чтобы начать сеанс отладки.
Отладчик подключается к прослушивающему процессу JVM, а терминал, на котором работает tradefed.sh
отображает приглашение tf>
.
Чтобы выполнить код в режиме отладки, установите точку останова в Eclipse и вызовите команду Tradefed (т. е. run <test>
) в терминале. Чтобы отладить что-либо во время запуска TF, вы можете сначала установить точку останова, а затем подключить отладчик Eclipse.
СОВЕТ: Чтобы использовать альтернативный порт, добавьте TF_DEBUG_PORT=nnn
к команде на шаге 1 выше. Вы даже можете использовать это в производственной среде, если у вас есть загадочные ошибки зависания, которые нужно исследовать: измените suspend=y
на suspend=n
в tradefed.sh
и начните с флага отладки. JVM не будет ждать подключения отладчика, но вы можете сделать это в любое время, пока процесс еще работает.
Удаленная отладка с использованием JDB
Чтобы использовать Java Debugger JDB, выполните действия, аналогичные действиям для Eclipse:
- Запустите
tradefed.sh
с флагом отладки:TF_DEBUG=1 tradefed.sh
- Подождите, пока не увидите приглашение от JVM:
Listening for transport dt_socket at address: 10088
. Подключите
jdb
. Например, из root запустите:jdb -attach 10088 \ -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
Дождитесь соединения и приступайте к отладке! Запустите
man jdb
для получения дополнительной помощи.
Изучите покрытие кода
- Установите плагин Eclemma .
- Откройте «Справка» > «Установить новое программное обеспечение» и укажите мастеру адрес: http://update.eclemma.org/.
- После установки выберите параметр «Покрытие как» > «JUnit» , чтобы выполнить проверку покрытия кода.