【问题标题】:run CTS on specific device using its usb id使用其 USB id 在特定设备上运行 CTS
【发布时间】:2018-06-19 15:31:49
【问题描述】:

我正在编写假设在多个设备上运行 CTS 测试的脚本。 不幸的是,当我检查我的 android 设备的序列号时,我发现其中的一部分包含相同的序列号。 现在,我读到了一个选项来运行adb devices -l 以让 USB 进入我的设备,以便我可以在特定的 USB 上运行命令:

$ adb devices -l

List of devices attached
0123456789ABCDEF device usb:2-1.8 
0123456789ABCDEF device usb:2-1.7

现在,我们可以像以前一样在特定的 USB 上运行此命令,而不是特定的序列号:

$ adb -s usb:26200000 install xxx.apk

我想在特定的 Android 设备上运行 CTS 时做类似的事情:

$ ./cts-tradefed run cts -s usb:2-1.8 -p android.permission2

问题是该命令似乎不起作用。当我尝试这个时没有任何响应。

请问,如果有两个相同的序列号,是否有另一种方法可以在特定设备上运行 cts?

【问题讨论】:

    标签: android usb adb cts


    【解决方案1】:

    除了-s 参数之外,还有另一种强制adb 使用特定设备的方法。您可以将您的设备 ID 分配给 ANDROID_SERIAL 环境变量。这对于不支持指定所需 id 的 3rd 方脚本非常有用。

    【讨论】:

    • 谢谢,但我还是有问题。我的脚本假设并行运行 cts 测试。我无法为每个设备设置 ANDROID_SERIAL 环境变量。我正在寻找带有 USB 输入的东西以进行 cts 测试
    【解决方案2】:

    您可以在多个设备之间进行选择,您可以使用命令list devices 获取设备的序列号:

    l d
    

    例子

    cts-tf > l d
    Serial               State   Allocation  Product      Variant      Build            Battery  
    10.1.1.113:5555      ONLINE  Allocated   product      variant      2018.02.2       100    
    

    然后用--serial参数运行cts

    run cts --serial <id>
    

    其中&lt;id&gt;l d 命令结果中的第一列

    即使参数的名称是serial,实际上您给它的值也是device id(由命令l dlist devices 给出)而不是设备的实际序列号。

    【讨论】:

    • 它没有帮助..如果序列号重复,我无法区分它们。我不知道,10.1.1.113:5555序列号是否包括usb输入?
    • @dvir 在我的测试用例中,它是一个通过以太网的 tcp 连接,但原理是一样的,请你执行l d 命令并发布此命令列出的内容吗?
    • @dvir 即使参数是串行的,实际上您也将device id 作为参数而不是设备的实际序列,并且这些不应该与您在给出@ 时看到的相同987654334@命令
    • 但问题是当我输入 l d 命令时,输出与 android 的串行设备相同。这似乎与您的输出不同。如果我有 2 个相同的设备并行连接,那么我没有任何东西可以让我区分它们
    • 我猜不出你在看什么,能否请你发布确切的输出
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-08
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-23
    相关资源
    最近更新 更多