2012-01-12 128 views
2

對於Android 2.3的,我用這個命令行輸入CTS控制檯:如何在Windows上使用命令行啓動CTS?

的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)/ classpath中(Java)的設置正確)

1.download並解壓縮文件CTS(例如,我把所有文件解壓到d:\ CTS,該文件夾會像d:\ CTS \ Android的CTS)

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

2.make cts_windows.bat文件並付諸工具文件夾中。 (即d:\ CTS \ Android的CTS \工具\我的情況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

-1

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 
1

爲4.1 CTS套件我執行的解決我的問題,不同的任務。

對於運行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

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我的用戶設備上。

感謝, 加尼甚庫馬爾Ramamoorthy

0

我不會推薦在Windows上運行CTS。

直到安卓4+,採用變通辦法的建議在這裏(使用批處理文件)沒有工作,但我已經試過了,有許多失敗和多次試驗,甚至根本沒有執行。 另外,根據谷歌CTS文檔,它應該在Linux或Mac只有這樣,因爲你在不支持的環境中運行它運行,你如何能保證故障是因爲在測試(真正的失敗)的設備的,還是?

儘管如此,由於Android 6+的,在Windows中使用批處理文件並沒有爲我工作,CTS將尋找其只存在於Linux機器,它開始之前將退出執行的bash。

當試圖運行在Linux上它運行的很好。