【问题标题】:How to launch CTS using command line on Windows?如何在 Windows 上使用命令行启动 CTS?
【发布时间】:2016-05-16 18:22:19
【问题描述】:

对于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 的东西?

【问题讨论】:

    标签: android windows cts


    【解决方案1】:

    用于在 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>”的外壳 然后您可以使用“run cts --plan CTS”命令运行 cts。

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

    【讨论】:

    • 同样不适用于 Android 8。:[适用于 android 版本 6] 错误:无法找到或加载主类 com.android.cts.tradefed.command.CtsConsole 原因:java。朗。 ClassNotFoundException:com.android.cts.tradefed.command.CtsConsole。请帮忙
    【解决方案2】:

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

    对于运行 Cygwin 的 Windows 用户:

    1. 在第 81 行修改 JAR_PATH 设置,将冒号替换为分号。
      同时在分配周围添加引号。它应该类似于以下命令:

      BadJAR_PATH=${JAR_PATH}:${JAR_DIR}/${JAR}
      GoodJAR_PATH="${JAR_PATH};${JAR_DIR}/${JAR}"

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


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

    【讨论】:

      【解决方案3】:

      能够在 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

      【讨论】:

        【解决方案4】:

        我不建议在 Windows 上运行 CTS。

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

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

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

        【讨论】:

          猜你喜欢
          • 2013-06-22
          • 2020-08-29
          • 2016-03-19
          • 2019-05-19
          • 2016-09-03
          • 2016-12-13
          • 2017-10-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多