Automation 如何将文件从我的Android设备拉到我电脑上的本地文件夹
我正在尝试创建一种方法,将文件从Android设备拉入我机器上的本地路径 我正在使用com.android.ddmlib中的pullFile方法,我得到以下错误:Automation 如何将文件从我的Android设备拉到我电脑上的本地文件夹,automation,appium-android,ddms,Automation,Appium Android,Ddms,我正在尝试创建一种方法,将文件从Android设备拉入我机器上的本地路径 我正在使用com.android.ddmlib中的pullFile方法,我得到以下错误: 02:45:59 E/ddms:无法打开本地文件C:\Users\amiyahav\Desktop\PullFile进行写入,原因:java.io.FileNotFoundException:C:\Users\amiyahav\Desktop\PullFile(访问被拒绝) 02:45:59 E/设备:同步期间出错:写入本地文件失败
02:45:59 E/ddms:无法打开本地文件C:\Users\amiyahav\Desktop\PullFile进行写入,原因:java.io.FileNotFoundException:C:\Users\amiyahav\Desktop\PullFile(访问被拒绝)
02:45:59 E/设备:同步期间出错:写入本地文件失败代码>
这是我的职责:
public static void pullFile(@SuppressWarnings("rawtypes") AppiumDriver driver, String remote, String local) throws TimeoutException, FailureException, AdbCommandRejectedException, SyncException, IOException {
AndroidDebugBridge.init(false);
AndroidDebugBridge adb = AndroidDebugBridge.createBridge();
String deviceUdid = (String) driver.getCapabilities().getCapability(MobileCapabilityType.UDID);
long startTime = System.currentTimeMillis();
while (!adb.isConnected() || !adb.hasInitialDeviceList()) {
if (System.currentTimeMillis() - startTime >= 20000)
throw new TimeoutException("Error occurred while loading devices list");
try {
Thread.sleep(500);
} catch (InterruptedException e) {
throw new FailureException("Action execution interrupted",e);
}
}
adb.getDevices()[0].pullFile(remote, local);
}
这是JUnit测试:
@Test
public void runPullFileAndroid() throws Exception {
String remote = "/data/hw_init/product/media/Pre-loaded/Music/Dream_It_Possible.flac";
String local = "C:\\Users\\amiyahav\\Desktop\\PullFile";
AndroidDriver driver = runner.getDriver();
try {
ADBHelper.pullFile(driver, remote, local);
} catch (Exception e) {
throw new FailureException("Failed running ADB shell command",e);
}
}
任何帮助都将不胜感激 错误表示尝试写入您电脑上的文件夹时访问被拒绝。显然,运行代码的帐户没有该文件夹的写入权限。您好@KenWhite,请快速回复:)我试图授予此文件夹读/写权限,但它无法将其还原回来。。知道为什么吗?