Как запустить CTS с помощью командной строки в Windows? - PullRequest
3 голосов
/ 12 января 2012

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

java -Xmx512M -cp % CTS_ROOT% \ инструменты \ ddmlib-prebuilt.jar;% CTS_ROOT% \ инструменты \ cts.jar;% CTS_ROOT% \ инструменты \ junit.jar; % CTS_ROOT% \ tools \ hosttestlib.jar com.android.cts.TestHost % CTS_ROOT% \ вместилище / host_config.xml

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

Ответы [ 5 ]

8 голосов
/ 15 февраля 2012

Для запуска 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

1 голос
/ 07 июня 2013

Для 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/tradefed

0 голосов
/ 13 апреля 2016

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

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

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

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

0 голосов
/ 05 ноября 2014

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

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

Pass -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 на моем пользовательском устройстве.

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

0 голосов
/ 25 апреля 2013

cts-tf> run cts

12-28 12:13:02 E / InvocationThread: предоставлена ​​неверная сборка CTS.

java.lang.IllegalArgumentException: предоставлена ​​неправильная сборка CTS.

at com.android.cts.tradefed.build.CtsBuildHelper.createBuildHelper(CtsBuildH

elper.java: 79)

at com.android.cts.tradefed.testtype.CtsTest.setBuild(CtsTest.java:303)

at com.android.tradefed.invoker.TestInvocation.injectBuild(TestInvocation.ja

va: 155)

at com.android.tradefed.invoker.TestInvocation.invoke(TestInvocation.java:11

2)

at com.android.tradefed.command.CommandScheduler$InvocationThread.run(Comman

dScheduler.java: 352)

Причина: java.io.FileNotFoundException: папка установки CTS D: \ cts \ android-cts

не существует

at com.android.cts.tradefed.build.CtsBuildHelper.validateStructure(CtsBuildH

elper.java: 158)

at com.android.cts.tradefed.build.CtsBuildHelper.createBuildHelper(CtsBuildH

elper.java: 76)

... 4 more
...