我想了解下面给出的Android Stack:
我了解应用层是什么。它是安装在设备上的Android应用程序集合。
据我所知,Linux内核也是Android操作系统的一部分。
我的问题是关于图书馆和应用框架。如上图所示的库是OS或SDK(软件开发工具包)的一部分吗?如果两者都?如何?
应用程序框架的相同问题。它是开发人员SDK的一部分还是专门针对Android OS的东西?因为我通常没有看到像ActivityManager
,WindowManager
和NotificationManager
这样的类的使用。这意味着系统本身或用户根据屏幕截图使用它们?
答案 0 :(得分:2)
您发布的图表是Android设备上的软件图表。它并不代表可用于开发Android应用程序的Android SDK。
Libraries图层中列出的库位于Android操作系统中。同样,Applications Framework层中列出的项目由操作系统提供。
Android SDK向开发人员公开接口,以便与操作系统的元素进行交互。例如,虽然操作系统本身有一个负责显示(和管理)通知的通知管理器,但SDK公开了一个NotificationManager
类,开发人员可以使用该类与通知系统进行交互。并非每个操作系统组件都具有SDK对应物,反之亦然。
另请注意,该图表中的任何内容都不一定能保证存在于所有设备上。制造商可能会分叉Android并删除某些组件,或者较新版本的Android可能会使该图表过时。它仅作为Android整体架构的例证。