19

アプリケーションの次のバージョンでは、他のアプリの設定ファイルに書き込む必要がある内部コントロールダッシュボードアプリを使用しているため、sharedUserIdを変更したいと思います。

しかし、アプリはすでに多くの電話にインストールされているので、これは問題になりますか?エミュレーターで少しテストを実行しましたが、デバイスログに*.bakバージョンの設定ファイルを書き込めないという例外があります。それがどれほど重要かわからない。不思議なことに、shared_prefsフォルダーが別のLinuxユーザーIDを使用して作成されていても、safing設定は機能しているようです。

誰かが以前にこれを試しましたか?

4

2 に答える 2

28

そして、私自身の質問に再び答えるには:

いいえ、安全ではありません。Android マーケット経由でアプリを更新してもデータベースと設定ファイルは削除されないため、新しいバージョンではこれらのファイルを読み書きできず (別の Linux ユーザー ID で作成されているため)、更新後にアプリがクラッシュします。 . アプリを完全にアンインストールして再インストールするようにユーザーに依頼する必要がありますが、これはお勧めできません。

原則として、新しいアプリの開発を開始するときは、必ずマニュアルandroid:processandroid:sharedUserId属性を設定してください。必要がない場合でも問題はありませんが、このアプリのプライベート リソースにアクセスできるアプリを完全に制御できます。

于 2010-11-13T15:25:41.927 に答える
2

現時点では解決策はありませんが、登録された問題にスターを付けると、Google がこれを修正する可能性があります。

http://code.google.com/p/android/issues/detail?id=1227

http://code.google.com/p/android/issues/detail?id=14074

于 2012-09-05T19:25:57.747 に答える