3

对于Android 2.3,我使用这个命令行进入CTS控制台:</p>

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

没有类似cygwin的东西,有没有类似的方式运行Android 4.0 CTS?

4

4 回答 4

8

用于在 Windows 上运行 Android 4.0+ CTS

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

1.下载并解压CTS文件(例如,我把所有解压后的文件放到D:\cts,这个文件夹看起来像D:\cts\android-cts)

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

2.制作cts_windows.bat文件并放入tools文件夹。(在我的情况下是 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>”的 shell,然后您可以使用“run cts --plan CTS”命令运行 cts。

有关更多说明,请阅读 http://source.android.com/compatibility/android-cts-manual-r4.pdf上的手册

于 2012-02-15T03:33:53.287 回答
1

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

对于运行 Cygwin 的 Windows 用户:

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

    Bad : JAR_PATH=${JAR_PATH}:${JAR_DIR}/${JAR}
    Good :JAR_PATH="${JAR_PATH};${JAR_DIR}/${JAR}"

  2. 请务必在同一目录中运行 cts-tradefed 脚本!
    第 73 行假定如果未定义 CTS_ROOT,则用户与 cts-tradefed 位于同一目录中。
    但是指令告诉人们从 cts-android 所在的目录运行脚本。


    好:./cts-tradefed
    坏:./android-cts/tools/tradefed

于 2013-06-06T21:43:36.643 回答
0

能够在 Windows 上运行 CTS,通过传递正确的 CTS 根目录可以解决上述异常。

默认情况下,CTS 将 android-cts 作为根目录,因此我们应该将文件夹维护为“D:\Android\android-cts”

通过 -DCTS_ROOT=D:\Android

所以“ Caused by: java.io.FileNotFoundException: CTS install folder 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

于 2014-11-05T07:14:55.540 回答
0

我不建议在 Windows 上运行 CTS。

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

尽管如此,从 Android 6+ 开始,在 Windows 中使用批处理文件对我不起作用,CTS 将寻找仅存在于 Linux 机器中的 bash 并在它开始之前退出执行。

当尝试在 Linux 上运行时,它运行良好。

于 2016-04-13T07:59:39.483 回答