0

私のアプリケーションはシステム アプリケーションです。私が必要としているのは、他のすべてのアプリケーションに対してクリーン データを実行することです。私の知る限り、すべてのアプリケーションのデータは /data/data に保存されます。/data/data 内のすべてのフォルダー/ファイルをプログラムで削除する方法はありますか?

私はadbからそれを行う方法を知っています:

adb shell
# rm -r /data/data

そして、これは私がコードでそれをやろうとしている方法です:

Process process;
    try {
        process = Runtime.getRuntime().exec("su");
        DataOutputStream os = new DataOutputStream(process.getOutputStream());
        os.writeBytes("mount -o remount,rw -t rfs /dev/stl5 /data; \n");
        os.writeBytes("rm -r /data/data; \n");
        os.writeBytes("mount -o remount,ro -t rfs /dev/stl5 /data; \n");

        return;
    } catch (IOException e) {
        e.printStackTrace();
    }
4

2 に答える 2

3

定義上、携帯電話をルート化していない限り、アプリをシステムアプリケーションにすることはできません。ルート権限を取得されていない電話の場合、他のアプリがパブリックエリアにデータを書き込んで誰でも書き込み可能にしない限り、他のアプリのデータにアクセスすることはできません。それでも、アプリは所有していないものには触れないようにする必要があります。

これをadbで行うとどうなりますか?他のアプリが正しく動作しなくなる可能性があります。

ただし、「ランプソケットに指を刺すとどうなるか」と同等のプログラミングを求めています。私たちの間で賢明なのは、あなたが実際に立ち去ってそれをするという偶然の機会に、私たちはあなたに答える義務はないと結論付けるでしょう。

于 2012-12-26T21:27:32.447 に答える
2

それが機能するかどうかはわかりませんが、機能したとしても、その場所を混乱させるには、プログラムにroot(su /スーパーユーザー)が必要です。

于 2012-12-26T14:58:25.750 に答える