Поскольку разрешение каталога данных - rwxrwx - x, пользовательская система, групповая система и запущенный пользователь вашего приложения является обычным пользователем, а не системным пользователем, поэтому приложение не может читать и записывать / data каталог напрямую.
Можно сослаться на два способа:
1: если у вас есть сертификат платформы, объявите android: sharedUserId = "android .uid.system" в AndroidManifest. xml и используйте сертификат платформы, чтобы повторно подписать приложение. Таким образом, пользователь, запускающий ваше приложение, является системным пользователем, у которого есть разрешения на чтение и запись в разделе / data.
2: получите разрешение root в приложении, а затем выполните соответствующую команду см .:
public static boolean RootCommand(String command) {
Process process = null;
DataOutputStream os = null;
try {
process = Runtime.getRuntime().exec("su");
os = new DataOutputStream(process.getOutputStream());
os.writeBytes(command + "\n");
os.writeBytes("exit\n");
os.flush();
process.waitFor();
} catch (Exception e) {
Log.d("*** DEBUG ***", "ROOT REE" + e.getMessage());
return false;
} finally {
try {
if (os != null) {
os.close();
}
process.destroy();
} catch (Exception e) {
}
}
Log.d("*** DEBUG ***", "Root SUC ");
return true;
}