2010-05-16 48 views

Trả lời

11

Bạn phải sử dụng phản ánh để gọi android.os.Exec.createSubprocess():

public String ls() { 
    Class<?> execClass = Class.forName("android.os.Exec"); 
    Method createSubprocess = execClass.getMethod("createSubprocess", String.class, String.class, String.class, int[].class); 
    int[] pid = new int[1]; 
    FileDescriptor fd = (FileDescriptor)createSubprocess.invoke(null, "/system/bin/ls", "/", null, pid); 

    BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(fd))); 
    String output = ""; 
    try { 
     String line; 
     while ((line = reader.readLine()) != null) { 
      output += line + "\n"; 
     } 
    } 
    catch (IOException e) {} 
    return output; 
} 
+0

execClass là gì? –

+0

Rất tiếc, đó sẽ là lớp phản ánh. –

+2

Tôi nhận được "java.lang.ClassNotFoundException: android.os.Exec" – ademar111190

Các vấn đề liên quan