使用其usb id在特定设备上运行CTS

时间:2018-04-26 11:23:17

标签: android usb adb cts

我正在编写脚本,假设在多个设备上运行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?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您可以在多个设备之间进行选择,使用命令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>

其中<id>l d命令

的结果中的第一列

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