2013-07-11 2 views
0

В тестовой папке для UIAutomator требуется скопировать файл из SD карты в data/local/tmp и продолжить. Когда я использую приведенный ниже код:В Android UIAutomator, как скопировать файлы с SDCard в другое место, например data/local/tmp?

public void RunAsRoot(String cmds) throws IOException{ 
    Process p = Runtime.getRuntime().exec("cmds"); 
} 

Я получаю это исключение.

java.io.IOException: Error running exec(). Command: [cmds] Working Directory: null Environment: null 
    at java.lang.ProcessManager.exec(ProcessManager.java:211) 
    at java.lang.Runtime.exec(Runtime.java:168) 
    at java.lang.Runtime.exec(Runtime.java:241) 
Caused by: java.io.IOException: Permission denied 
    at java.lang.ProcessManager.exec(Native Method) 
    at java.lang.ProcessManager.exec(ProcessManager.java:209) 
    ... 20 more 

Есть ли другой способ сделать то же самое? Я ценю ответы, Спасибо.

+0

Я действительно пропустил, что здесь находится «cmds». Это строковая переменная, содержащая команду «cat mnt/sdcard/Input.txt >> data/local/tmp/Input.txt» – user2295119

ответ

0

В вашем примере есть опечатка. «cmds» вместо cmds. Этот код является частью приложения для Android? Какие именно команды вы используете? Вы запускаете на корневом телефоне или эмуляторе?

+0

Я запускаю этот код в uiAutomator тестовый пример, который не находится внутри приложения. Java-код встроен в JAR-файл и запускается с использованием команд оболочки adb. Я не пытаюсь на корневом телефоне. – user2295119