Как изменить разрешение файла в Android с помощью chmod
Я использую команду chmod для изменения прав доступа к файлу, но в моем коде это не работает, и мое устройство также имеет root-права:
String MyFilePath = "/data/data/MyPkgName/database/com.pocketchange.android.http.AsyncHttpRequestService.db";
CommandCapture command = new CommandCapture(0, "chmod 777 " + "\""+ MyFilePath+ "\"");
RootTools.getShell(true).add(command).waitForFinish();
И когда он выполняется, вывод команды:
Unable to chmod /data/data/MyPkgName/databases/com.pocketchange.android.http.AsyncHttpRequestService.db: No such file or directory
но файл существует, и когда я использую этот код, чтобы изменить разрешение другого файла в каталоге базы данных, его успех, так что я могу сделать сейчас.
2 ответа
1. Сначала выполните проверку RootTools.isAccessGiven(), затем система запросит разрешение "Root" в стиле Dialog. После разрешения root вы можете успешно запустить команду root.
2. "\" "+ MyFilePath +" \ "" => MyFilePath
Используйте команду chmod в оболочке ADB...
String[] strExec = new String[]
{
"/system/bin/sh", "-c","/system/bin/chmod 777
};
try {
Runtime.getRuntime().exec(strExec);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}