[英]How do you run terminal commands in a created android application on rooted emulator?
我目前正在創建一個將運行一些終端命令的android應用程序。 我使用的是默認情況下root附帶的genymotion Nexus 5(4.4.4)仿真器。 但是,為了測試一些常規命令,我做了以下操作:
Process process = Runtime.getRuntime().exec("su");
process = Runtime.getRuntime().exec(new String[]{"mkdir /sdcard/tmp1/"});
process = Runtime.getRuntime().exec(new String[]{"adb pull /sdcard/tmp3/new4.txt \"C:\\Users\\my_username\\Documents\\\""
當執行“ su”時,我從名為SuperUser的應用程序收到一條消息,提示我已獲得root特權。 但是,沒有其他命令被執行。 沒有tmp1目錄,我無法將手動添加到模擬器的new4.txt文件拖到我的documents文件夾中。
我在路徑字符串中是否缺少某些內容?
當執行“ su”時,我從名為SuperUser的應用程序收到一條消息,提示我已獲得root特權。
因此,我想您正在手機上運行代碼。 在這種情況下,您還要在電話上運行您要在主機上運行的第三個命令( adb pull
)。
正如這個答案指出的那樣,您正在不同的子Shell中運行連續的命令。 因此,您的第一個su
與第二個exec
的上下文無關緊要。 要使用su執行命令,請參見su的手冊頁 。 一個簡單的例子是:
su - -c "whoami"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.