0

少し前に、私はプライベート共有設定を使用してアプリケーションを作成しました。現在、以前のアプリケーション設定のいくつかを確認する必要がある関連アプリケーションを作成しています。私が直面している問題は、以前のアプリケーションのソース コードがコンピュータにあり、来月までアクセスできないことです。そんなに長く待ちたくないので、私のデバイスはルート化されているので、設定ファイルのアクセス許可を変更してアクセスできるようにすることで、前のアプリケーションを入手したらすぐに両方のアプリケーションを公開できるのではないかと考えました。コードバック。

設定ファイルは /data/data/my.package/shared_prefs にあります。adbシェルでアクセスしてchmod 777を使用すると、ファイルのアクセス許可が変更され、設定にアクセスできますが、最終的にアクセス許可は660に戻ります。次を使用してコードから変更しようとしました:

Runtime.getRuntime().exec("su");
Runtime.getRuntime().exec("chmod 777 /data/data/my.package/shared_prefs/my_preferences.xml");

アクセス許可は変更されません。何故ですか?

ありがとう!

4

2 に答える 2

0
try {
    Process suProcess = Runtime.getRuntime().exec("su");
    DataOutputStream suOutputStream = new DataOutputStream(suProcess.getOutputStream());
    suOutputStream
            .writeBytes("chmod 777 /data/data/my.package/shared_prefs/my_preferences.xml\n");
    suOutputStream.flush();
    suOutputStream.writeBytes("exit\n");
    suOutputStream.flush();
    suProcess.waitFor();

} catch (IOException e) {
    // TODO Auto-generated catch block
} catch (InterruptedException e) {
    // TODO Auto-generated catch block
}
于 2013-04-10T10:02:22.303 に答える