2012-04-26 5 views
3

私のプロジェクトでちょっとした助けが必要です。起動中にアンドロイドがデバイス上のすべてのアプリケーションをどのようにロードするかは、誰でも知ることができます。どこでアプリを読んでいるのですか?アイコン、名前、最後にデバイスに表示されます。アンドロイド内部

私はpackagemanager-> applicationpackagemanager-> Ipackagemanager.aidl-> packagemanagerservice-> settings.javaに行きましたが、アンドロイドがapkからどのように情報を取得し、起動時にどのようにロードするのか分かりませんでした。

誰かが助けてくれれば本当に素晴らしいことでしょう。

答えて

3

それがまさに私の知る限りで起こるが、全く分からない:

起動中:Androidは/data/apps/*.apkを通過し、抽出/ AndroidManifest.xmlを読み取り、いくつかの情報(例えば/data/system/packages.listpackages.xml)を節約に

パッケージ(.apk)解析すべき実行するにはPackageParser.java

アプリのリストは、アプリ引き出しを開いてメモリにキャッシュすると、おそらくそれらのリストの1つから読み取られます。アイコンは必要に応じて抽出され、キャッシュされます。 Launcherに表示されるアイコン/アプリケーションは、別の場所に保存されています。

関連する問題