libandroid_runtime
源代码位置:frameworks/base/core/jni。
包含AndroidRuntime类,目录下的jni函数,链接libinput等库。
libandroid_servers
源代码位置:frameworks/base/service/jni。
包含目录下的jni函数,链接libinputservice、libsensorservice等库。
由SystemServer通过loadLibrary(java)方式加载。
frameworks-base
frameworks/base下的一些子目录下的java文件会编译到framework-base中,具体的子目录列表定义在build/core/pathmap.mk中:
|
FRAMEWORKS_BASE_SUBDIRS := \ $(addsuffix /java, \ core \ graphics \ location \ media \ media/mca/effect \ media/mca/filterfw \ media/mca/filterpacks \ drm \ opengl \ sax \ telephony \ wifi \ keystore \ rs \ ) |
framework-base是静态java库,会拆分为两个jar库
- framework.jar
所有android开头的类。
- framework2.jar
所有com、javax开头的类。
services
services是一个jar库,源代码位于:frameworks/base/services。
本文主要探讨了Android系统中的关键组件libandroid_runtime和libandroid_servers的源代码位置及功能。libandroid_runtime包含AndroidRuntime类和jni函数,链接libinput等库;libandroid_servers则涉及jni函数,与libinputservice、libsensorservice等库相连接,由SystemServer加载。同时,介绍了frameworks-base中的子目录结构,这些子目录下的java文件会被编译为framework.jar和framework2.jar两个jar库。services目录下的源代码则构成services.jar。
642

被折叠的 条评论
为什么被折叠?



