我想執行這個代碼命令注入通過執行mount命令
Process process = new ProcessBuilder().command("mount").start();
process.waitFor();
找出SD卡位置,然後事後檢查,如果它是由vold的,如果文件系統是VFAT管理。
我的問題是,如果無論如何這個代碼可以合併,併成爲Android的命令注入的候選人。
夫妻點從我身邊。
它不是用戶輸入,所以在這種情況下將沒有命令注入。整個Android OS環境是否可以改變,使得mount命令可能會被濫用?
歡呼聲, Saurav
確定。目前我正在讀的/ proc /支架代替mount命令。
這是一個很好的方法。
引用該解決方案 http://renzhi.ca/2012/02/03/how-to-list-all-sd-cards-on-android/ How can I get the list of mounted external storage of android device
代碼如下
reader = new BufferedReader(new FileReader("/proc/mounts"));
String line;
while ((line = reader.readLine()) != null) {
// Output the line of output from the mount command
logger.debug(" {}", line);
if (line.startsWith("/dev/block/vold/")) {
任何人都可以請,如果這是應該做的正確的方法是免費的任何安全問題。
歡呼聲, Saurav
無論如何,這是一種劣質的方法;你應該簡單地將/ proc/mounts作爲一個文本文件讀取,避免產生一個子進程 - 通常最好避免它,因爲它是一個相當重量級的操作,通常與Android的流程管理和整體設計理念不相稱。 –
感謝Chris的回覆。這是最好的解決方案http://stackoverflow.com/questions/9340332/how-can-i-get-the-list-of-mounted-external-storage-of-android-device/19982338#19982338? – saurav