Команды оболочки Android не могут найти каталог /data

В моем приложении я делаю:

try {
    String[] cmd = {"su", "-c",  "\"ls /data/\""}; //to debug, will be cp /src /dest

    ProcessBuilder builder = new ProcessBuilder(cmd);
    builder.redirectErrorStream(true);
    Process process = builder.start();
    InputStream is = process.getInputStream();

    Log.e("copy", is.toString());
    Log.e("copy", convertStreamToString(is));

    try {
        process.waitFor();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
} catch (IOException e1) {
    e1.printStackTrace();
}

Приложение установлено в /system/app/ и работает с правами root.

Я вижу наложение SuperSu, что ему предоставлены разрешения для операции.

С cp /src /dest на месте ls Команда выше, она не копируется, поэтому отладка с ls, Я получил:

tmp-mksh: ls /data: not found

Почему это и как я могу это исправить?

NB. Это та же проблема, что и этот вопрос, за исключением того, что она была решена путем добавления внешних разрешений на запись - я должен отметить, что оба пути в моей команде находятся в /data/..,

0 ответов

Другие вопросы по тегам