android /system/lib/ so库解析

匿名 (未验证) 提交于 2019-12-03 00:27:02

> android /system/lib/ so库解析- https://blog.csdn.net/qidabing/article/details/51837163

- Linux下的*.so是系统的动态库,类似于win下面的*.dll,一般是由C/C++编译成的动态库,上层的Java程序通过JNI调用。

动态库相对静态库的优点是,1.更加的节省资源;2.更方便的程序部署、更新和发布;有些So在不同的SDK可能会没有了。


1、out_cm11中.so文件解析

out_cm11\target\product\aries\system\lib

|-- drm (Digital Rights Management 数字版权管理)

| |-- libfwdlockengine.so (?Fwdlockengine(OMA-v1的Forward Lock(禁止将文件移动到手机设备以外的设备,即转发锁定)))

|-- egl (EGL是OpenGL ES和底层Native平台视图系统之间的接口)

| |-- egl.cfg (图形渲染配置文件egl.cfg)

| |-- eglsubAndroid.so (?)

| |-- libEGL_adreno.so (?adreno是高通的GPU处理器)

| |-- libGLES_android.so (software OpenGL ES library 系统提供纯软件3D加速库)

| |-- libGLESv1_CM_adreno.so (the wrapper OpenGL ES 1.x library)

| |-- libGLESv2_andreno.so (the wrapper OpenGL ES 2.x library)

| |-- libplayback_adreno.so (?与视频播放有关)

| |-- libq3dtools_adreno.so (?q3dtools是一个容易且实时3D构建工具)

|-- hw (硬件)

| |-- audio.a2dp.default.so (蓝牙a2dp音频 a2dp (Advanced Audio Distribution Profile 蓝牙立体声音频传输规范))

| |-- audio.primary.aries.so (?)

| |-- audio.primary.default.so (The default audio HAL module)

| |-- audio.r_submix.default.so (?)

| |-- audio.usb.default.so (usb音频)

| |-- audio_policy.aries.so (aries(Algorithms for Recovery and Isolation Expoiting Semantics)IBM数据库恢复的原型算法)

| |-- audio_policy.default.so (?声音版权控制)

| |-- bluetooth.default.so (蓝牙相关)

| |-- camera.msm8960.so (与相机和msm8960有关,msm8960是2012年高通推出的首批采用28nm技术的Krait架构的双核骁龙S4 Plus移动处理器,该处理器支持LTEHSPA+WCDMATD-SCDMAEV-DORev.A/B、CDMAGSM等各种4G、3G和2G网络。)

| |-- copybit.msm8960.so (Copybit是Android使用2D引擎来加速图形操作(主要是Surface之间的composition操作)的一种技术,对应着一个或几个动态库,Copybit在Android中主要用于Surface的composition操作。)

| |-- flp.msm8960.so (flp 文件是flash mx的工程文件)

| |-- gps.msm8960.so (与gps和msm8960有关)

| |-- gralloc.default.so (图形缓冲区管理器)

| |-- gralloc.msm8960.so (与msm8960这个平台有关的图形缓冲区管理器)

| |-- hwcomposer.msm8960.so (?)

| |-- keystore.default.so (密钥库)

| |-- keystore.msm8960.so (与msm8960有关的密钥库)

| |-- lights.aries.so (与屏幕亮度有关)

| |-- local_time.default.so (与本地时间有关)

| |-- memtrack.msm8960.so (与内存管理有关)

| |-- power.default.so (与电源管理有关)

| |-- power.msm8960.so (与电源管理有关)

| |-- sensors.msm8960.so (与传感器有关)

|-- modules (?)

|-- soundfx (声音驱动)

| |-- libaudiopreprocessing.so (声音库相关。Audio preprocessing 扬声器驱动器)

| |-- libbundlewrapper.so (声音库相关。Music bundle wrapper)

| |-- libcyagen-dsp.so (?)

| |-- libdownmix.so (声音库相关,downmix将5.1声道的分离杜比数字声迹变换为二声道杜比环绕声编码信号的过程)

| |-- libeffectproxy.so (?)

| |-- libldnhncr.so (?)

| |-- libreverbwrapper.so (声音库相关reverb(混响)的封装)

| |-- libvisualizer.so (声音库相关。Visualizer(可视化)库)

|-- ssl (Secure Sockets Layer安全套接层)

| |-- engines ()

| | |-- libkeystore.so (密钥有关)

|-- crtbegin_so.o (?)

|-- crtend_so.o (?)

|-- libacdbdata.so (?)

|-- libadreno_utils.so (?Adreno GPU为采用骁龙处理器的移动终端提供游戏机品质的3D图形处理能力,为游戏、用户界面和高性能计算任务提供更快的图形处理)

|-- libAKM.so (与指南针有关)

|-- libalsa-intf.so (ALSA是Advanced Linux Sound Architecture,高级Linux声音架构的简称,它在Linux操作系统上提供了音频和MIDI(Musical Instrument Digital Interface,音乐设备数字化接口)的支持)

|-- libandroid.so (提供Android功能访问,源码位置:frameworks/base/native/android)

|-- libandroid_runtime.so (android 运行库:android中实现的JNI有关的库,源码位置:frameworks/base/core/jni)

|-- libandroid_servers.so (系统服务组件:和Android中实现的JNI)

|-- libandroidfw.so (?与输入有关,源码位置:frameworks/base/libs/androidfw)

|-- libart.so (ART模式英文全称为:Android runtime,谷歌Android 4.4系统新增的一种应用运行模式,与传统的Dalvik模式不同,ART模式可以实现更为流畅的安卓系统体验,不过只有在安卓4.4以上系统中采用此功能。)

|-- libart-compiler.so (compiler:主要负责Dalvik字节码到本地代码的转换)

|-- libaudcal.so (与外放音量有关)

|-- libaudioalsa.so (ALSA是Linux声卡驱动的架构,alsa音频驱动)

|-- libaudioamp.so (音频放大)

|-- libaudioeffect_jni.so (与音效有关,音效JNI接口,设计密集运算)

|-- libaudioparameter.so (音频参数)

|-- libaudio-resampler.so (音频重取样)

|-- libaudioutils.so (音频工具)

|-- libavcodec.so (libavcodec是一个免费和开源库的编解码器编码和解码视频和音频数据。)

|-- libavformat.so (ibavformat库提供了一个通用的框架,用于多路复用和多路分解(多路复用技术和多路分配器)音频、视频和字幕流。它包含多个muxers和demuxers多媒体容器格式。它还支持多个输入和输出协议访问媒体资源。)

|-- libavutil.so (与FFmpeg有关)

|-- libbcc.sha1.so (Calcullate SHA1 checksum for libbcc.so and libRS.so)

|-- libbcc.so (Bitcode compiler 库:Online JIT compiler,Translate portable to appropriate machine)

|-- libbcinfo.so (libbcinfo provides bitcode translator metadate extraction)

|-- libbinder.so (Android用于实现binder机制的库,binder用于Android的跨进程通信,源码位置:frameworks/native/libs/binder)

|-- libbluetooth_jni.so (与蓝牙相关的)

|-- libbt-hci.so (?bludroid协议涉及到的库)

|-- libbt-utils.so (?bludroid协议涉及到的库)

|-- libc.so (C库)

|-- libc_malloc_debug_leak.so (查找内存泄露)

|-- libc_malloc_debug_qemu.so (内存泄露检测有关)

|-- libC2D2.so (与Adreno330驱动有关)

|-- libc2d30.so (与Adreno330驱动有关)

|-- libc2d30-a3xx.so (与Adreno330驱动有关)

|-- libc2dcolorconvert.so (?)

|-- libcamera_client.so (摄像头相关的库)

|-- libcamera_metadata.so (摄像头相关的库)

|-- libcameraservice.so (摄像头相关的库)

|-- libCB.so (?)

|-- libchromatix_imx132_default_video.so (chromatix,用于CAMERA ISP(qualcomm自己称呼为vfe(video front end)),用于raw sensor效果的,说白了就是手机摄像头效果的)

|-- libchromatix_imx132_preview.so (chromatix相关)

|-- libchromatix_imx132_zsl.so (chromatix相关)

|-- libchromatix_imx135_default_video.so (chromatix相关)

|-- libchromatix_imx135_hfr_60fps.so (chromatix相关)

|-- libchromatix_imx135_hfr_90fps.so (chromatix相关)

|-- libchromatix_imx135_preview.so (chromatix相关)

|-- libchromatix_imx135_video_hdr.so (chromatix相关)

|-- libchromatix_imx135_zsl.so (chromatix相关)

|-- libchromatix_imx175_default_video.so (chromatix相关)

|-- libchromatix_imx175_hfr_60fps.so (chromatix相关)

|-- libchromatix_imx175_hfr_90fps.so (chromatix相关)

|-- libchromatix_imx175_hfr_120fps.so (chromatix相关)

|-- libchromatix_imx175_preview.so (chromatix相关)

|-- libchromatix_imx175_zsl.so (chromatix相关)

|-- libchromatix_ov2720_default_video.so (chromatix相关)

|-- libchromatix_ov2720_hfr.so (chromatix相关)

|-- libchromatix_ov2720_preview.so (chromatix相关)

|-- libchromatix_ov2720_zsl.so (chromatix相关)

|-- libchromatix_ov2722_default_video.so (chromatix相关)

|-- libchromatix_ov2722_preview.so (chromatix相关)

|-- libchromatix_ov2722_zsl.so (chromatix相关)

|-- libchromatix_s5k3h7_default_video.so (chromatix相关)

|-- libchromatix_s5k3h7_hfr_60fps.so (chromatix相关)

|-- libchromatix_s5k3h7_hfr_90fps.so (chromatix相关)

|-- libchromatix_s5k3h7_hfr_120fps.so (chromatix相关)

|-- libchromatix_s5k3h7_preview.so (chromatix相关)

|-- libchromatix_s5k3h7_zsl.so (chromatix相关)

|-- libchromium_net.so (chromium 浏览器的相关)

|-- libclcore.bc (?)

|-- libclcore_debug.bc (?)

|-- libclcore_neon.bc (?)

|-- libCommandSvc.so (与svc命令有关,svc命令用来管理电源管理控制,无线数据,WIFI)

|-- libcommon_time_client.so (?)

|-- libcompiler_rt.so (?)

|-- libconfigdb.so (?)

|-- libconnectivitymanager.so (网络连接管理)

|-- libcorkscrew.so (与堆栈打印有关)

|-- libcrypto.so (加密库)

|-- libcsd-client.so (?)

|-- libctest.so (c测试库)

|-- libcurve25519.so (Curve25519是安全的椭圆曲线提供128位与椭圆曲线设计用于diffie - hellman(ECDH)关键协议方案。它是最快的ECC曲线,它是不受任何已知的专利,它避免了质量差带来的问题,随机数生成器。)

|-- libcutils.so (Bionic的一部分,是Android中最基础的库)

|-- libdefcontainer_jni.so (“自动安装位置选择依据”功能使用的native函数的jni接口)

|-- libdiag.so (?和信号有关)

|-- libdiskconfig.so (android中与储存(磁盘)相关的库)

|-- libdivxdrmdecrypt.so (DivX DRM 是Divx DRM 是DivX DRM 是Divx公司开发的一种安全技术架构,负责保护版权,确保用于可以合法购买或者租用数学视频内容)

|-- libdl.so (Bionic实现的动态链接相关的库)

|-- libdrmdiag.so (DRM相关,DigitalRightsManagement,内容数字版权加密保护技术)

|-- libdrmframework.so (DRM相关,DigitalRightsManagement,内容数字版权加密保护技术)

|-- libdrmframework_jni.so (DRM框架jni接口相关)

|-- libdrmfs.so (?DRM相关)

|-- libdrmtime.so (?DRM相关)

|-- libdsi_netctrl.so (?dsi指数字话音插孔技术,)

|-- libdsprofile.so (The dsprofile library provides general facilities to implement domain-specific profiling in Scala and Java programs.)

|-- libdss.so (?ds数字服务)

|-- libdsucsd.so (?ds数字服务)

|-- libdsutils.so (?ds数字服务)

|-- libdvm.so (Dalvik虚拟机本体)

|-- libDxHdcp.so (HDCP的全称是High-bandwidth Digital Content Protection,也就是“高带宽数字内容保护”。简单的说,HDCP就是要将通过DVI接口传递的数字信号进行加密,多媒体内容的发出端(电脑、DVD、机顶盒等)与接受端(显示器、电视机、投影机等)之间加上一道保护。)

|-- libeffects.so (android中与媒体相关的库)

|-- libEGL.so (EGL是 Khronos的渲染API(如OpenGL ES和OpenVG)与底层native平台窗口系统(如桌面版Linux中的X Window,MS-Windows中的GDI,Android中的Frame Buffer等)交互的接口。路径frameworks/native/opengl/libs/EGL/下的代码生成的libEGL.so库也是一个wrapper库。)

|-- libemoji.so (“绘文字”(颜文字)相关库)

|-- libETC1.so (Android上用ETC1格式进行纹理压缩ETC1,是OpenGL ES 2.0支持的格式,Android 2.2以后的机型基本全部支持,将PNG资源替换为ETC1资源后,APK大小能显著降低,ETC1比PNG资源占用更小的运行时内存.)

|-- libexif.so (一个处理照片exif信息的命令行工具)

|-- libexpat.so (解析XML文档的开发库)

|-- libext2_blkid.so (ext2文件系统,在linux系统下可以用blkid命令对查询设备上所采用文件系统类型进行查询)

|-- libext2_com_err.so (ext2文件系统)

|-- libext2_e2p.so (ext2文件系统)

|-- libext2_profile.so (ext2文件系统)

|-- libext2_uuid.so (ext2文件系统)

|-- libext2fs.so (ext2文件系统)

|-- libext4_utils.so (ext4文件系统)

|-- libexternal.so (?)

|-- libffmpeg_utils.so ( FFmpeg是用于录制、转换和流化音频和视频的完整解决方案, 包括 libavcodec ,一套领先的音/视频编解码类库。)

|-- libFFmpegExtractor.so (?)

|-- libFFTEm.so (Android使用的一个用于计算FFT(快速傅里叶变换)的库)

|-- libfilterfw.so (?)

|-- libfilterpack_imageproc.so (?)

|-- libft2.so (?)

|-- libgabi++.so (一个小的C++ runtime, 与System C++ 提供同样多的头文件。但它支持RTTI。 现在已经很少用了。)

|-- libgccdemangle.so (?demangl是C++里的一个会变换名字的函数)

|-- libgemini.so (gemini 企业级模块化项目 Gemini提供了一系列的子项目,目的就是为了将已有的JavaEE技术集成至模块化平台中,以及实现在模块化平台上实现一些企业级的规范。)

|-- libgenlock.so (GenLock同步锁定,GenLock能使视频的刷新和外部视频源保持一致,当提供了一个适当的信号后,图形卡就会把它的显示刷新率和这个信号锁定)

|-- libGLES_trace.so (OpenGL ES 是从 OpenGL 裁剪的定制而来的,去除了glBegin/glEnd,四边形(GL_QUADS)、多边形(GL_POLYGONS)等复杂图元等许多非绝对必要的特性。)

|-- libGLESv1_CM.so (一个简单的wrapper,针对OpenGL ES API进行封装)

|-- libGLESv2.so (一个简单的wrapper,针对OpenGL ES API进行封装)

|-- libGLESv3.so (一个简单的wrapper,针对OpenGL ES API进行封装)

|-- libgps.utils.so (与GPS有关)

|-- libgsl.so (GSL(GNU Scientific Library)是一个 C 写成的用于科学计算的库)

|-- libgui.so (android中与用户界面相关的库)

|-- libhardware.so (android中HAL(硬件抽象层)相关库)

|-- libhardware_legacy.so (android中HAL(硬件抽象层)相关库)

|-- libharfbuzz_ng.so (HarfBuzz is an OpenType text shaping engine.)

|-- libhwui.so (android’s2Dhardware accelerated rendering pipe)

|-- libI420colorconvert.so (I420或表示为IYUV,数码摄像机专用表示法)

|-- libicui18n.so (ICU(International Component for Unicode))

|-- libicuuc.so (和icu有关)

|-- libidl.so (?)

|-- libimage-jpeg-dec-omx-comp.so (image 转jpeg ,omx用于硬件编解码的)

|-- libimage-jpeg-enc-omx-comp.so (image 转jpeg ,omx用于硬件编解码的)

|-- libimage-omx-common.so (与image有关)

|-- libimscamera_jni.so (与camera有关 jni接口)

|-- libinput.so (输入设备驱动)

|-- libinputservice.so (与输入设备有关)

|-- libiprouteutil.so (与TCP/IP栈相关的库)

|-- libjackpal-androidterm5.so (一个在android平台上终端模拟器,可以运行linux命令)

|-- libjackpal-termexec2.so (一个在android平台上终端模拟器,可以运行linux命令)

|-- libjavacore.so (java核心库)

|-- libjavacrypto.so (?)

|-- libjhead.so (jhead 用来修改照片的EXIF信息)

|-- libjhead_jni.so (jhead jni接口)

|-- libjni_eglfence.so (egl是OpenGLES和底层Native平台视图系统之间的接口)

|-- libjni_filtershow_filters.so (?)

|-- libjni_jpegstream.so (jpegstream 视频流(数据以byte为单位计数)

|-- libjni_latinime.so (与拉丁字母输入法相关的库)

|-- libjni_mosaic.so (与马赛克相关的库)

|-- libjni_pacprocessor.so (PacProcessor 与处理代理自动配置有关)

|-- libjni_tinyplanet.so (tinyplanet 小小相机应用有关)

|-- libjnigraphics.so (与绘图有关,对bitmap的访问进行了封装)

|-- libjpeg.so (处理jpeg图像的相关库)

|-- libkeystore_binder.so (?与密钥有关)

|-- libLLVM.so (LLVM是架构编译器(compiler)的框架系统,以C++编写而成,用于优化以任意程序的编译时间、链接时间、运行时间、以及空闲时间,对开发者保持开发,并兼容已有脚本)

|-- libllvm-a3xx.so (与构架编译器有关)

|-- libloc_core.so (与定位有关)

|-- libloc_eng.so (与定位有关)

|-- liblog.so (有关日记记录的库)

|-- liblogwrap.so (与logwapper有关)

|-- libm.so (与内存分配回收有关的库)

|-- libmdnssd.so (主要是部分头文件连接到该库文件)

|-- libmedia.so (android的MediaPlay架构的一部分)

|-- libmedia_jni.so (MediaPlayer中负责与JNI通信的部分)

|-- libmedialogservice.so (media日志服务有关)

|-- libmediaplayerservice.so (mediaPlayer服务有关)

|-- libmemalloc.so (与内存分配有关)

|-- libmemtrack.so (跟内存分配跟踪有关)

|-- libmercury.so (?)

|-- libmmcamera_faceproc.so (?与相机有关)

|-- libmmcamera_frameproc.so (?与相机有关)

|-- libmmcamera_hdr_lib.so (?与相机有关)

|-- libmmcamera_image_stab.so (?与相机有关)

|-- libmmcamera_interface2.so (?与相机有关)

|-- libmmcamera_statsproc31.so (?与相机有关)

|-- libmmcamera_wavelet_lib.so (?与相机有关)

|-- libmm-color-convertor.so (?)

|-- libmmipl.so (?)

|-- libmmjpeg.so (?jpeg有关)

|-- libmmjps.so (?jps(Java Virtual Machine Process status Tool))

|-- libmmmpo.so (?)

|-- libmmmpod.so (?)

|-- libmm-omxcore.so (?)

|-- libmmstillomx.so (?)

|-- libmorpho_noise_reduction.so (?)

|-- libmtp.so (MTP(MediaTransferProtocal)媒体传输协议)

|-- libnamparser.so (?)

|-- libnativehelper.so (Dalvik的一部分,用于JNI调用的原生代码函数)

|-- libnbaio.so (nbaio是为了想实现非阻塞的音频输入输出操作)

|-- libncurses.so (ncurses提供字符终端处理库,包括面板和菜单。)

|-- libnetlink.so ( libnetlink - A library for accessing the netlink service)

|-- libnetmgr.so (netmar主要用来配置创建的监听服务)

|-- libnetutils.so (工具库可以加载wifi驱动或是卸载驱动)

|-- libnfc_ndef.so (一个很小的函数库,主要是实现NDEF消息的解析,供Framework调用)

|-- liboemcamera.so (相机驱动文件)

|-- liboemcrypto.so (与加密解密有关)

|-- libOmxAmrEnc.so (OpenMax相关库)

|-- libOmxAmrEnc.so (OpenMax相关库)

|-- libOmxEvrcEnc.so (OpenMax相关库)

|-- libOmxQcelp13Enc.so (OpenMax相关库)

|-- libOmxVdec.so (OpenMax相关库)

|-- libOmxVenc.so (OpenMax相关库)

|-- libOpenMAXAL.so (OpenMax相关库)

|-- libOpenSLES.so (OpenMax相关库)

|-- liboverlay.so (overlay指Android Display Overlay HAL)

|-- libpac.so (?)

|-- libpagemap.so (pagemap是linux中一组新的接口集合,它通过读取/proc中的文件允许用户态的程序检查页表以及相关的信息。)

|-- libpci.so (PCI设备驱动,PCI是Peripheral Component Interconnect(外设部件互连标准))

|-- libpixelflinger.so (Pixelflinger是android系统中为OpenGL ES提供一套软件渲染器。是下层工具库,该库提供像素级别的基本处理,如像素格式定义、画点、线、多边形、纹理颜色填充以及多层处理等操作接口。)

|-- libpng.so (png库)

|-- libportable.so (火狐便携模块)

|-- libpower.so (与电源有关)

|-- libpowermanager.so (电源管理库)

|-- libqcci_legacy.so (?)

|-- libqcomfm_jni.so (?)

|-- libqdi.so (?)

|-- libqdMetaData.so (?)

|-- libqdp.so (?)

|-- libqdutils.so (?)

|-- libqmi.so (libqmi is a glib-based library for talking to WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol.)

|-- libqmi_cci.so (qmi (Qualcomn MSM Interface)高通MSM接口有关 )

|-- libqmi_client_qmux.so (高通MSM接口有关)

|-- libqmi_common_so.so (高通MSM接口有关)

|-- libqmi_csi.so (高通MSM接口有关)

|-- libqmi_csvt_srvc.so (高通MSM接口有关)

|-- libqmi_encdec.so (高通MSM接口有关)

|-- libqminvapi.so (高通MSM接口有关)

|-- libqmiservices.so (高通MSM接口有关)

|-- libQSEEComAPI.so (高通MSM接口有关,QSEE( Qualcomn Security Element Environment ))

|-- libqservice.so (高通MSM接口有关)

|-- libreference-ril.so (平台厂家的动态链接库,平台厂家需要根据自己的Modem修改此库,可以更改库的名称)

|-- libril.so (被rild守护进程调用的)

|-- libril-qc-qmi-1.so (与rild守护进程有关)

|-- libril-qcril-hook-oem.so (与rild守护进程有关)

|-- librilutils.so (与rild守护进程有关)

|-- libRS.so (Render Script lib,RenderScript是一种低级的高性能编程语言,用于3D渲染和处理密集型计算(3D播放等和关于CPU密集型的计算) )

|-- librs_adreno.so (?)

|-- librs_adreno_sha1.so (?)

|-- librs_jni.so (android中与用户界面有关的库,和lancher有关)

|-- libRScpp.so (?)

|-- libRSCpuRef.so (?)

|-- libRSDriver.so (?)

|-- libRSDriver_adreno.so (?)

|-- librtp_jni.so (和RTP协议有关)

|-- libsc-a3xx.so (?)

|-- libselinux.so (SELinux 包括Linux内核的一个补丁和一组提升了安全性的实用程序,用来给Linux增加强制性的访问控制)

|-- libsensor_reg.so (?与传感器有关)

|-- libsensor_user_cal.so (?与传感器有关)

|-- libsensor1.so (?与传感器有关)

|-- libsensorservice.so (android中和传感器有关的库)

|-- libskia.so (skia是个2D向量图形处理函数库,包括字型、坐标转换,以及点阵图都有高效能且简洁的表现。)

|-- libsoftkeymaster.so (?)

|-- libsonivox.so (一个电子声音合成器,源码在/external/sonivox/中)

|-- libsoundpool.so (和声音回放有关的库)

|-- libsparse.so (?sparse 与稀疏矩阵有关)

|-- libspeexresampler.so (speex是一套主要针对语言的开源免费,无专利保护的音频压缩格式。speex重采样)

|-- libsqlite.so (android中所使用的Sqlite的相关库)

|-- libsqlite_jni.so (Sqlite的相关库,用于JNI通信)

<
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!