Я хочу вытащить файл с SD-карты Android (эмулятор или устройство) и поместить его на диск C: \.
Как я могу сделать это на Java? в командной строке я просто набираю:
C: \ Users \ ME \ android-sdks \ platform-tools \ adb.exe pull
/sdcard/test_1329402481933.jpg c: \
Так что в Java я думал, что это будет что-то вроде:
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("C:\\Users\\ME\\android-sdks\\platform-tools\\adb.exe pull /sdcard/test_1329402481933.jpg c:\\");
int exitVal = pr.waitFor();
System.out.println("Exited with error code "+exitVal);
но он не может дать мне этот след:
java.io.IOException: Ошибка при запуске exec (). Команды:
[C: \ Users \ ME \ android-sdks \ platform-tools \ adb.exe, тянуть,
/sdcard/test_1329402481933.jpg, c:] Рабочий каталог: ноль
Окружающая среда: ноль в
java.lang.ProcessManager.exec (ProcessManager.java:196) в
java.lang.Runtime.exec (Runtime.java:225) в
java.lang.Runtime.exec (Runtime.java:313) в
java.lang.Runtime.exec (Runtime.java:246) в
com.blinkbox.client.test.MyTest.takeScreenShot (MyTest.java:138) в
com.blinkbox.client.test.MyTest.testCanOpenSettings (MyTest.java:66) в
java.lang.reflect.Method.invokeNative (родной метод) в
android.test.InstrumentationTestCase.runMethod (InstrumentationTestCase.java:205)
в
android.test.InstrumentationTestCase.runTest (InstrumentationTestCase.java:195)
в
android.test.ActivityInstrumentationTestCase2.runTest (ActivityInstrumentationTestCase2.java:175)
на android.test.AndroidTestRunner.runTest (AndroidTestRunner.java:169)
на android.test.AndroidTestRunner.runTest (AndroidTestRunner.java:154)
в
android.test.InstrumentationTestRunner.onStart (InstrumentationTestRunner.java:430)
в
android.app.Instrumentation $ InstrumentationThread.run (Instrumentation.java:1447)
Вызвано: java.io.IOException: в доступе отказано
java.lang.ProcessManager.exec (собственный метод) в
java.lang.ProcessManager.exec (ProcessManager.java:194) ... еще 19
Я открыт, чтобы сделать это совершенно по-другому ... Просто нужно сделать работу :))