3

私のプロジェクトで少しだけ助けが必要です。起動中にAndroidがデバイス上のすべてのアプリをどのようにロードするのか誰にもわかりますか. apk はどこで読み取られ、アイコン、名前などのアプリに関する情報が取得され、最終的にデバイスに表示されます。

packagemanager->applicationpackagemanager->Ipackagemanager.aidl->packagemanagerservice->settings.java を調べましたが、android が apk から情報を取得する方法と、起動時にどのように読み込まれるかを理解できませんでした。

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

4

1 に答える 1

3

それが正確にどこで起こるかわかりませんが、AFAIK:

起動中: Android は を通過し/data/apps/*.apk、 を抽出/読み取り、AndroidManifest.xmlいくつかの情報を保存します (例:/data/system/packages.listpackages.xml) 。

パッケージ ( .apk) の解析は、PackageParser.javaで行う必要があります。

アプリのリストは、アプリ ドロワーを開いてメモリにキャッシュしたときに、これらのリストのいずれかから読み取られる可能性があります。アイコンはオンデマンドで抽出され、キャッシュにも保存されます。ランチャーに表示されるアイコン/アプリは、別の場所に保存されています。

于 2012-04-26T11:24:29.090 に答える