Как вытащить файл с моего устройства Android в локальную папку на моем ПК - PullRequest
0 голосов
/ 03 октября 2019

Я пытаюсь создать метод, который будет извлекать файл с устройства Android в локальный путь на моем компьютере.

Я использую метод pullFile из com.android.ddmlib, и я 'я получаю эту ошибку:

02:45:59 E/ddms: Failed to open local file C:\Users\amiyahav\Desktop\PullFile for writing, Reason: java.io.FileNotFoundException: C:\Users\amiyahav\Desktop\PullFile (Access is denied) 02:45:59 E/Device: Error during Sync: Writing local file failed!

Это моя функция:

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);
        }

    }

Любойпомощь будет оценена!

...