Невозможно использовать Runtime.exec () для выполнения команды оболочки «echo» в Java-коде Android

я могу использоватьRuntime.exec() выполнять команды оболочки вродеgetprop" а также "ls system"И они работают нормально.

Тем не менее, когда я используюecho $BOOTCLASSPATH","echo \\$BOOTCLASSPATH" или же "echo HelloWorld", это не покажет это в stdout.

LogCat показывает:

I/AndroidRuntime( 4453): VM exiting with result code -1.

Вот мой код:

try {
    java.lang.Process proc = Runtime.getRuntime().exec("echo -e \\$BOOTCLASSPATH");
    String line = null;

    InputStream stderr = proc.getErrorStream();
    InputStreamReader esr = new InputStreamReader (stderr);
    BufferedReader ebr = new BufferedReader (esr);
    while ( (line = ebr.readLine()) != null )
        Log.e("FXN-BOOTCLASSPATH", line);

    InputStream stdout = proc.getInputStream();
    InputStreamReader osr = new InputStreamReader (stdout);
    BufferedReader obr = new BufferedReader (osr);
    while ( (line = obr.readLine()) != null )
        Log.i("FXN-BOOTCLASSPATH", line);

    int exitVal = proc.waitFor();
    Log.d("FXN-BOOTCLASSPATH", "getprop exitValue: " + exitVal);
} catch (Exception e) {
    e.printStackTrace();
}

Ответы на вопрос(1)

Ваш ответ на вопрос