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

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

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

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

Создание проектов

  1. Запустите make один раз из командной строки. Это создаст внешние библиотеки, зависящие от приведенных ниже проектов.
  2. Установите переменную пути к классу 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 в полном дереве исходного кода платформы. Поэтому вам нужно будет проверить ветку платформы, такую ​​​​как master , чтобы получить эти файлы: /development/master/ide/eclipse/

Используйте файлы настроек в Eclipse, чтобы автоматически настроить средство форматирования на руководство по стилю Android. Для этого в Студии:

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

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

Чтобы заставить Eclipse удалить все завершающие пробелы:

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

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

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

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

Отладка затмения

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

Чтобы отладить модульный тест TF, просто щелкните его правой кнопкой мыши и выберите Debug As > JUnit test .

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

Чтобы отладить саму программу TF, при запуске любой конфигурации следуйте инструкциям из предыдущего раздела для запуска функционального теста, но укажите аргументы командной строки для конфигурации, которую вы хотите запустить на шаге 4. Таким образом, для отладки конфигурации «инструмента» перейдите в меню конфигурации «Выполнить» > «Отладка » и установите на вкладке « Аргументы » в конфигурации отладки Eclipse значение --packe -- 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 из главного меню: выберите Run > Debug Configurations... .
  4. Во всплывающем диалоговом окне выберите « Удаленное приложение Java » в меню слева.
  5. Щелкните значок Новая конфигурация запуска на панели действий.
  6. Назовите конфигурацию по своему желанию и выберите tradefederation в качестве проекта.
  7. Заполните порт, используя адрес, предоставленный ранее.
  8. Перейдите на вкладку Source и добавьте проекты tradefederation и google-tradefed в Source Lookup Path .
  9. Щелкните Отладка , чтобы начать сеанс отладки.

Отладчик подключается к прослушивающему процессу JVM, а терминал, на котором работает tradefed.sh , показывает приглашение tf> .

Чтобы выполнить код в режиме отладки, установите точку останова в Eclipse и вызовите команду Tradefed (т.е. run <test> ) в терминале. Чтобы отладить что-либо во время запуска TF, вы можете сначала установить точку останова, а затем подключить отладчик Eclipse.

СОВЕТ: Чтобы использовать альтернативный порт, добавьте TF_DEBUG_PORT=nnn к команде на шаге 1 выше. Вы даже можете использовать это в производственной среде, если у вас есть таинственные ошибки зависания, которые нужно исследовать: измените suspend=y на suspend=n в tradefed.sh и начните с флага отладки. JVM не будет ждать подключения отладчика, но вы можете сделать это в любое время, пока процесс все еще выполняется.

Удаленная отладка с использованием JDB

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

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

    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, чтобы выполнить запуск покрытия кода.