Настроить затмение

Чтобы настроить Tradefed с помощью Eclipse, выполните следующие действия.

Создайте отдельное рабочее пространство для разработки Trade Federation, не используйте повторно рабочее пространство, уже используемое для разработки Android-устройств.

При необходимости вы можете загрузить Eclipse IDE для разработчиков Java с сайта: eclipse.org/downloads

Создавать проекты

  1. Запустите make один раз из командной строки. Это позволит создать внешние библиотеки, зависящие от проектов ниже.
  2. Установите переменную classpath TRADEFED_ROOT в Window > Preferences > Java > Build Path> Classpath Variables и укажите ее на исходный корень tradefed.
  3. Установите переменную пути TRADEFED_ROOT в Window > Preferences > General > Workspace > Linked Resources и укажите ее на исходный корень TradeFed.
  4. Используйте мастер « 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
    
  5. При желании, если вы хотите увидеть исходный код ddmlib , прикрепите исходный код из ветки несвязанных инструментов, например /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java .

  6. При желании, если вы также хотите загрузить проекты CTS-жгутов, импортируйте:

    test/suite_harness/common/util
    test/suite_harness/common/host-side/util
    test/suite_harness/common/host-side/tradefed
    

Автоматический формат

ПРИМЕЧАНИЕ: Необходимые файлы находятся в development/ide/eclipse в полном дереве исходного кода платформы. Поэтому вам нужно будет проверить ветку платформы, например android-latest-release , чтобы получить эти файлы: /development/android16-release/ide/eclipse/

Используйте файлы настроек в Eclipse, чтобы автоматически задать форматировщику стиль Android. Чтобы сделать это в Studio:

  1. Перейдите в Окно > Настройки > Java > Стиль кода .
  2. В разделе Formatter импортируйте файл android-formatting.xml .
  3. В разделе «Организовать» > «Импорт» импортируйте файл android.importorder .

Удалить конечные пробелы

Чтобы заставить Eclipse удалить все конечные пробелы:

  1. Перейдите в Окно > Настройки -> Java -> Редактор -> Сохранить действия .
  2. Затем Дополнительные действия -> Настроить -> Код > вкладка «Организация» -> Форматировщик .
  3. Установите флажок Удалить конечные пробелы .
  4. Нажмите «Применить» и «Закрыть» .

Проверить стиль кода

При отправке списка изменений будет запущен автоматический хук предварительной загрузки для проверки формата вашего кода: google-java-format

Это помогает отформатировать ваш код в соответствии с общим стандартом.

Отладка Eclipse

Если вы хотите запустить код TF через отладчик в Eclipse, рекомендуется сначала создать модульный тест для рассматриваемого кода, поскольку это будет самый простой и быстрый способ проверить функциональность.

Чтобы отладить модульный тест TF, просто щелкните по нему правой кнопкой мыши и выберите «Отладить как» > «Тест JUnit» .

Для отладки функционального теста TF следуйте инструкциям в предыдущем разделе по запуску функционального теста, но используйте меню «Запуск» > «Отладка конфигураций» .

Для отладки самой программы TF при запуске любой конфигурации следуйте инструкциям в предыдущем разделе по запуску функционального теста, но укажите аргументы командной строки для конфигурации, которую вы хотите запустить на шаге 4. Таким образом, для отладки конфигурации «инструмента» перейдите в меню «Выполнить» > «Конфигурация отладки» и установите на вкладке «Аргументы» в конфигурации отладки Eclipse значение -- package <package to run> instrument .

Удаленная отладка с помощью Eclipse

Для удаленной отладки сеанса tradefed, запущенного из командной строки tradefed.sh , выполните следующие действия:

  1. Запустите tradefed.sh с флагом отладки: TF_DEBUG=1 tradefed.sh
  2. Подождите, пока не увидите следующее приглашение от JVM: Listening for transport dt_socket at address: 10088 Это означает, что JVM ожидает подключения отладчика к порту 10088 .
  3. Подключитесь к удаленной отладке Eclipse из главного меню: выберите «Выполнить» > «Конфигурации отладки...» .
  4. В всплывающем диалоговом окне выберите Удаленное приложение Java в левом меню.
  5. Нажмите значок «Новая конфигурация запуска» на панели действий.
  6. Назовите конфигурацию по своему усмотрению и выберите tradefederation в качестве проекта.
  7. Заполните порт, используя адрес, указанный ранее.
  8. Перейдите на вкладку «Источник» и добавьте проекты tradefederation и google-tradefed в путь поиска источника .
  9. Нажмите «Отладка» , чтобы начать сеанс отладки.

Отладчик подключается к прослушивающему процессу 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:

  1. Запустите tradefed.sh с флагом отладки: TF_DEBUG=1 tradefed.sh
  2. Подождите, пока не увидите приглашение от JVM: Listening for transport dt_socket at address: 10088 .
  3. Подключите jdb . Например из crout запустите:

    jdb -attach 10088 \
        -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
    
  4. Дождитесь соединения и приступайте к отладке! Запустите man jdb для получения дополнительной помощи.

Проверьте покрытие кода

  1. Установите плагин Eclemma .
  2. Перейдите в раздел «Справка» > «Установить новое программное обеспечение» и укажите мастеру ссылку: http://update.eclemma.org/
  3. После установки выберите опцию Coverage As > JUnit test, чтобы выполнить проверку покрытия кода.