对于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的东西?
答案 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
有关更多说明,请阅读手册 http://source.android.com/compatibility/android-cts-manual-r4.pdf
答案 1 :(得分:1)
对于4.1 CTS Suite,我执行了不同的任务来解决我的问题。
对于运行Cygwin的Windows用户:
修改第81行的JAR_PATH设置,用冒号替换冒号。
还在赋值周围添加引号。它应该看起来像下面的命令:
错误:JAR_PATH=${JAR_PATH}:${JAR_DIR}/${JAR}
好:JAR_PATH="${JAR_PATH};${JAR_DIR}/${JAR}"
请务必在同一目录中运行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