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

Package( .apk)解析应该由PackageParser.java来完成

当您打开应用程序抽屉并缓存在内存中时,可能会从其中一个列表中读取应用程序列表。图标是按需提取并缓存的。您在 Launcher 中看到的图标/应用程序存储在其他位置。

于 2012-04-26T11:24:29.090 回答