2012-01-12 3 views
2

для Android 2.3, я использую эту командную строку для ввода CTS консоли:Как запустить CTS с помощью командной строки в Windows?

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

Есть ли подобный способ запуска Android 4.0 CTS, как это без Cygwin-как вещь ?

ответ

7

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

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

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

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

2.make cts_windows.bat файл и поместить в папку инструментов. (то есть D: \ каратов \ Android-каратов \ инструменты \ 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

ЦТС-ТФ> запустить каратов

12-28 12:13:02 E/InvocationThread: Invalid 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 

ва: 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: \ каратов \ Android-каратов

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

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 
1

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

Для пользователей окон, работающих под управлением Cygwin:

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

    Bad: JAR_PATH=${JAR_PATH}:${JAR_DIR}/${JAR}
    Хорошо: JAR_PATH="${JAR_PATH};${JAR_DIR}/${JAR}"

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


    Хорошо:. ./cts-tradefed
    Bad: ./android-cts/tools/tradefed

0

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

По умолчанию CTS относится андроид-МСС, как корневой каталог, поэтому мы должны сохранить папку, как "D: \ Android \ Android-КТС"

Pass -DCTS_ROOT = D: \ Android

Так "Вызванный по: java.io.FileNotFoundException: CTS install folder D: \ cts \ android-cts "будет разрешена.

ява -cp ddmlib-prebuilt.jar; tradefed-prebuilt.jar; hosttestlib.jar; КТС-tradefed.jar -DCTS_ROOT = D: \ Android com.android.cts.tradefed.command.CtsConsole

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

Спасибо., Ganesh Kumar Ramamoorthy

0

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

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

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

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