Невозможно очистить данные приложения с помощью следующего метода, я использую корневое устройство, API 19.
public static void clearAppData() {
try {
Process su = Runtime.getRuntime().exec("su");
DataOutputStream outputStream = new DataOutputStream(su.getOutputStream());
outputStream.writeBytes(pm clear com.xxx.xxx.xxx);
outputStream.flush();
outputStream.writeBytes("exit\n");
outputStream.flush();
su.wait(2000);
} catch (Exception e) {
Log.e("Set Time", e.getMessage());
}
}
Я вызываю вышеуказанный метод в моем тесте, но он не может очистить кэш.Я сделал то же самое для изменения времени устройства, и оно работает
Вызов вышеупомянутого метода в следующем тесте:
@Test
public void a_test() {
CommonUtil.clearAppData();
CommonUtil.changetime();
CommonUtil.pausetime(5000);
}