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

Выполните следующие шаги, чтобы настроить 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 в полном дереве исходного кода платформы. Поэтому вам нужно будет проверить ветку платформы, например main чтобы получить эти файлы: /development/main/ide/eclipse/

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

  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 . Например, из root запустите:

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

Изучите покрытие кода

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