如何在Windows上使用命令行启动CTS?

时间:2012-01-12 02:14:34

标签: android windows cts

对于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 个答案:

答案 0 :(得分:8)

在Windows上运行Android 4.0+ CTS

这是我的解决方案:(我假设所有路径(adb)/ classpath(Java)设置正确)

1.download并解压缩CTS文件(例如,我将所有解压缩的文件放入D:\ cts,该文件夹看起来像D:\ cts \ android-cts)

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

2.制作cts_windows.bat文件并放入工具文件夹。 (在我的情况下是D:\ cts \ _and-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>”这样的shell 然后你可以使用“run cts --plan CTS”命令运行cts。
  2. 有关更多说明,请阅读手册 http://source.android.com/compatibility/android-cts-manual-r4.pdf

答案 1 :(得分:1)

对于4.1 CTS Suite,我执行了不同的任务来解决我的问题。

对于运行Cygwin的Windows用户:

  1. 修改第81行的JAR_PATH设置,用冒号替换冒号。
    还在赋值周围添加引号。它应该看起来像下面的命令:

    错误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

答案 2 :(得分:0)

能够在Windows上运行CTS,通过传递正确的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。

感谢。, Ganesh Kumar Ramamoorthy

答案 3 :(得分:0)

我不建议在Windows上运行CTS。

在Android 4+之前,使用此处建议的解决方法(使用批处理文件)确实有效,但是当我尝试使用它时,有许多失败,许多测试甚至根本没有执行。 此外,根据Google CTS文档,它应该仅在Linux或MAC上运行,以便如何保证故障是由于被测设备(真正的故障),或者是因为您在不受支持的环境中运行它?

尽管如此,从Android 6+开始,在Windows中使用批处理文件并不适用于我,CTS会查找仅存在于Linux机器中的bash,并会在启动前退出执行。

当尝试在Linux上运行时,它运行得很漂亮。

答案 4 :(得分:-2)

cts-tf>运行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