次のリンクは、アンドロイドでのパッケージインストールプロセスの簡単な説明です。Androidのインストール中にアプリのUIDがどのように決定されましたか?
http://java.dzone.com/articles/depth-android-package-manager
私はアプリのUIDは、そのマニフェストファイルに存在する設定された権限に基づいて、インストール時にどのように決定されるかを知って興味があります。
また、関連するgidを持つアクセス許可のリストを含むplatform.xml(4.0 ICSソースコードの/ frameworks/base/data/etcディレクトリ)ファイルもあります。説明
以下のタグは、低レベルのグループIDを 権限名に関連付けています。このようなマッピングを指定することにより、 は、指定されたアクセス権を付与されたアプリケーションプロセスは、プロセスに添付された特定のグループIDで実行されることを意味します。 ファイルシステム(読み取り、書き込み、実行)操作を実行できます。 そのグループのために。
同様に、特定のuidに割り当てられた上位レベルのアクセス許可の一覧もあります。アプリは権限Xにインストールされている場合
私の質問は、そのアクセスは、指定されないかY、Zは、それがこのplatform.xmlからマッピングからです。また毎回アプリが実行され
マッピングがで行いませんすべての瞬間(それはアプリの権限が更新されない限り変更することができないアンドロイドの最初のデザインからそう思わない)。だから、それはどこにこのアプリは、そのようなアクセスまたはそのようなuidと実行する必要がありますを格納している場合です。
私は私の質問を明確にしたいと思っています。詳細が必要な場合はお知らせください。私はちょうどAndroid OSの内部がどのように機能するかについてもっと学びたいと思っています。
おかげ
ありがとうございます。だから、gidがアプリケーションに割り当てられると、いつでもアプリケーションが呼び出されるときに、より速い検索のためにそれらはどこにでも保存されますか?あるいは、アプリケーションがマニフェストファイル内に持つ権限に基づいて、その場で計算されますか?私は、アプリケーションが呼び出されたときにgidのどこにマップされるかを調べようとしています。あらかじめYuryに感謝します。 –
私が覚えている限り、PackageManagerには、gidに関する情報を格納するキャッシュがあります。したがって、anが呼び出されると、この情報がこのキャッシュから取得され、Zygoteプロセスのためにgidを設定するために使用されます。 – Yury