Как запустить CTS с помощью командной строки в Windows?

Для Android 2.3 я использую эту командную строку для входа в консоль CTS:

java -Xmx512M -cp %CTS_ROOT%\tools\ddmlib-prebuilt.jar;%CTS_ROOT%\tools\cts.jar;%CTS_ROOT%\tools\junit.jar; %CTS_ROOT%\tools\hosttestlib.jar com.android.cts.TestHost %CTS_ROOT%\repository/host_config.xml

Есть ли аналогичный способ запуска Android 4.0 CTS без cygwin-подобных вещей?


person stillwater    schedule 12.01.2012    source источник


Ответы (4)


Для запуска Android 4.0+ CTS в Windows

вот мое решение: (я предполагаю, что все пути (adb)/classpath (Java) установлены правильно)

1. загрузите и разархивируйте файл CTS (например, я поместил все разархивированные файлы в D:\cts, папка будет выглядеть как D:\cts\android-cts)

http://source.android.com/compatibility/downloads.html

2.Создайте файл cts_windows.bat и поместите в папку с инструментами. (в моем случае это D:\cts\android-cts\tools\cts_windows.bat)

отредактируйте файл cts_windows.bat с приведенным ниже кодом (не забудьте использовать свой собственный путь -DCTS_ROOT):

java -cp ddmlib-prebuilt.jar;tradefed-prebuilt.jar;hosttestlib.jar;cts-tradefed.jar -DCTS_ROOT=D:\cts com.android.cts.tradefed.command.CtsConsole
  1. запустите файл cts_windows.bat, и он попадет в оболочку типа «cts-tf>», после чего вы сможете запустить cts с помощью команды «run cts --plan CTS».

дополнительные инструкции см. в руководстве по адресу http://source.android.com/compatibility/android-cts-manual-r4.pdf

person LZN    schedule 15.02.2012
comment
То же самое не работает для Android 8.: [Работает для Android версии 6] Ошибка: не удалось найти или загрузить основной класс com.android.cts.tradefed.command.CtsConsole Причина: java.lang. ClassNotFoundException : com.android.cts.tradefed.command.CtsConsole. Пожалуйста помоги - person Sanyal; 29.08.2018

Для 4.1 CTS Suite я выполнял различные задачи, которые решили мою проблему.

Для пользователей Windows, использующих Cygwin:

  1. Измените настройку JAR_PATH в строке 81, замените двоеточие точкой с запятой.
    Также добавьте кавычки вокруг назначения. Команда должна выглядеть так:

    Плохо: JAR_PATH=${JAR_PATH}:${JAR_DIR}/${JAR}
    Хорошо: JAR_PATH="${JAR_PATH};${JAR_DIR}/${JAR}"

  2. Обязательно запускайте скрипт cts-tradefed в том же каталоге!
    Строка 73 предполагает, что если CTS_ROOT не определен, пользователь находится в том же каталоге, что и cts-tradefed.
    Но в инструкциях пользователю предлагается запустить скрипт из каталога, в котором находится cts-android.


    Хорошо: ./cts-tradefed
    Плохо: ./android-cts/tools / торгуется

person Cookster    schedule 06.06.2013

Я могу запустить CTS в Windows. Вышеупомянутое исключение разрешается путем передачи соответствующего корневого каталога CTS.

По умолчанию CTS ссылается на android-cts как на корневой каталог, поэтому мы должны сохранить папку как «D:\Android\android-cts».

Пропустить -DCTS_ROOT=D:\Android

Таким образом, «вызвано: java.io.FileNotFoundException: папка установки CTS D:\cts\android-cts» будет устранена.

java -cp ddmlib-prebuilt.jar;tradefed-prebuilt.jar;hosttestlib.jar;cts-tradefed.jar -DCTS_ROOT=D:\Android com.android.cts.tradefed.command.CtsConsole

С помощью приведенного выше сценария я могу запустить CTS на своем пользовательском устройстве.

Спасибо., Ганеш Кумар Рамамурти

person Ganesh Ramamoorthy    schedule 05.11.2014

Я бы не рекомендовал запускать CTS в Windows.

До Android 4+ предложенный здесь обходной путь (использование пакетного файла) работал, но когда я попробовал его, было много сбоев, а многие тесты даже не выполнялись вообще. Кроме того, согласно документации Google CTS, он должен работать только на Linux или MAC, поэтому как вы можете гарантировать, что сбои вызваны тестируемым устройством (реальный сбой) или тем, что вы используете его в неподдерживаемой среде?

Тем не менее, начиная с Android 6+, использование пакетного файла в Windows мне не помогло, CTS будет искать bash, который существует только на машине с Linux, и прекратит выполнение до его запуска.

При попытке запуска в Linux все работает прекрасно.

person Moti Bartov    schedule 13.04.2016