uiautomator上的Android push shell命令



我尝试使用 uiautomation 在我的设备中推送 mp3,所以我使用以下代码:

mDevice.executeShellCommand("push music\testing.mp3 /sdcard/Music");

但是我运行后,什么也没发生,我的代码有问题吗?

executeShellCommand 在你正在自动化的设备执行命令。它是"adb shell <command>"的UiAutomator等价物。但是,要将文件推送到此类设备,您应该在本地计算机(文件所在的位置(中执行它,因为设备对此一无所知。

像Appium这样的自动化框架已经提供了一个简单的功能来推送文件,但我找不到类似的东西来做低级UiAutomator。最简单的选择是手动调用 adb 推送:

ProcessBuilder pb = new ProcessBuilder("adb", "-s", "DEVICE_UDID", "push", "music\testing.mp3", "/sdcard/Music");
Process pc = pb.start();
pc.waitFor();

(来源(

请务必将DEVICE_UDID替换为设备的标识符(如 adb 设备中所示(。或者,如果只有一个设备连接到您的计算机,您可以从命令中删除"-s", "DEVICE_UDID",它将假定您连接的设备作为命令的目标。

最新更新