私の電話はルート化されています。私は非常に単純なプログラムをやろうとしています。プログラムは app/app フォルダーからファイルを削除する必要があります。これどうやってするの?私は初心者なので、サンプルコードは高く評価されています。
質問する
6533 次
3 に答える
3
お使いの携帯電話がルート化されている場合、 AndroidはLinuxのバリアントであるsu
ため、ルートスルーとしてコマンドを発行できます(su
バイナリが存在し、に存在する場合) 。PATH
を介して削除コマンドを実行するだけRuntime.exec()
で、スーパーユーザーがアクセス許可プロンプトを処理する必要があります。
これが私がこの質問から取ったその使用法の簡単な例です:
process = Runtime.getRuntime().exec("su");
os = new DataOutputStream(process.getOutputStream());
os.writeBytes(command + "\n");
os.writeBytes("exit\n");
os.flush();
process.waitFor();
于 2012-11-21T09:08:12.200 に答える
1
以下の方法を使用して、フォルダー内のすべてのファイルを再帰的に削除できます。
private void DeleteRecursive(File fileOrDirectory) {
if (fileOrDirectory.isDirectory())
for (File child : fileOrDirectory.listFiles())
{
child.delete();
DeleteRecursive(child);
}
fileOrDirectory.delete();
}
于 2012-11-21T09:00:50.967 に答える
1
Chainfire は、彼のgithubで、 root としてコマンドを実行するために使用できるクラスのサンプル実装を提供しています。このコマンドは、ファイル (およびフォルダー) を削除するコマンドの Linux 版です。Shell
rm
rm
コードスニペット:
if(Shell.SU.available()){
Shell.SU.run("rm /data/app/app.folder.here/fileToDelete.xml"); //Delete command
else{
System.out.println("su not found");
または、バイナリが利用可能であることが確実su
な場合は、delete コマンド (コメント行) を実行して、チェックをスキップできます。
出典:ハウツー SU
于 2013-01-20T20:50:54.137 に答える