我的项目只需要一点帮助。谁能告诉android在启动时如何加载设备上的所有应用程序。它在哪里读取 apk 的检索有关应用程序的信息,例如图标、名称并最终显示在设备上。
我经历了 packagemanager->applicationpackagemanager->Ipackagemanager.aidl->packagemanagerservice->settings.java 但我无法弄清楚android如何从apk中提取信息以及它如何在启动时加载。
如果有人可以提供帮助,那就太好了。
我的项目只需要一点帮助。谁能告诉android在启动时如何加载设备上的所有应用程序。它在哪里读取 apk 的检索有关应用程序的信息,例如图标、名称并最终显示在设备上。
我经历了 packagemanager->applicationpackagemanager->Ipackagemanager.aidl->packagemanagerservice->settings.java 但我无法弄清楚android如何从apk中提取信息以及它如何在启动时加载。
如果有人可以提供帮助,那就太好了。
不知道这到底发生在哪里,但 AFAIK:
在启动期间:Android 会通过/data/apps/*.apk
,提取/读取AndroidManifest.xml
并保存一些信息(例如/data/system/packages.list
和packages.xml
)
Package( .apk
)解析应该由PackageParser.java来完成
当您打开应用程序抽屉并缓存在内存中时,可能会从其中一个列表中读取应用程序列表。图标是按需提取并缓存的。您在 Launcher 中看到的图标/应用程序存储在其他位置。