Почему команда RootTools cp не работает?
Я пытаюсь сделать копию файла в папке etc, для этого я использую следующий код в кнопке:
changeNTP.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
File exists = new File("/etc/gps.conf");
if (exists.exists()) {
// We make a backup first
CommandCapture command = new CommandCapture(0, "cp -f /etc/gps.conf /etc/gps" + System.currentTimeMillis() + ".conf");
try {
RootTools.getShell(true).add(command);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (TimeoutException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RootDeniedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Last time that file was modified
//Date filedate = new Date(exists.lastModified());
}
}
});
Ну, проблема в том, что он ничего не копирует. В чем может быть проблема?
Благодарю.
1 ответ
Решение
Хорошо, следующее является лучшим решением:
int date = (int) System.currentTimeMillis();
String source = "/system/etc/gps.conf";
String destination = "/system/etc/gps" + date + ".conf";
if(RootTools.remount("/system/etc/", "rw")){
RootTools.copyFile(source, destination, true, true);
}
Проблема в том, что ранее я указывал на /etc, но это местоположение - символическая ссылка, реальный путь - /system/etc. Очевидно, что мы не можем изменить тип монтирования символической ссылки, поэтому предыдущий код, который я только что опубликовал, является хорошим ответом.
Благодарю.