简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀
优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀
优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门实战课【原创干货持续更新中……】🚀
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
🍉🍉🍉文章目录🍉🍉🍉
- 🌻1.前言
- 🌻2.vendor.img介绍
- 🌻3.解决方案
🌻1.前言
本篇目的:Android14之修改编译vendor.img
🌻2.vendor.img介绍
- Android的vendor.img是一个文件,它包含了Android操作系统中特定的硬件驱动程序、固件、配置文件和其他与硬件相关的组件。它是Android系统中的一个重要组成部分,用于确保系统的稳定性和兼容性。
- 在Android系统中,vendor.img通常位于设备的/vendor分区中。这个分区是一个只读的分区,其中包含了特定于设备的二进制文件和配置文件。这些文件是由设备的原始设备制造商(OEM)提供的,用于确保设备在特定的硬件配置下正常运行。
- vendor.img中包含了各种硬件驱动程序,如GPU、CPU、音频、显示、传感器等驱动程序。这些驱动程序是设备正常工作的关键,因为它们允许操作系统与硬件进行通信,并确保硬件的功能得到充分发挥。
- 除了硬件驱动程序外,vendor.img还包含了设备的固件文件。固件是一种特殊的软件,它负责控制设备的硬件行为。例如,设备的基带固件负责处理无线通信,而设备的显示屏固件则负责控制显示屏的亮度和色彩。
- vendor.img中还包含了各种配置文件,这些文件用于配置设备的硬件和软件行为。例如,音频配置文件用于配置音频输出设备的音量和音质,显示配置文件用于配置显示屏的分辨率和刷新率。
- 在Android系统的启动过程中,vendor.img会被加载到内存中,并与其他系统映像文件(如boot.img、system.img等)一起启动。这个过程由设备的引导加载程序(bootloader)负责。引导加载程序会在设备启动时加载vendor.img,并将其中的硬件驱动程序和固件加载到操作系统中。
- vendor.img对于设备的稳定性和兼容性至关重要。因为它包含了特定于设备的硬件驱动程序和固件,所以它需要与设备的硬件配置相匹配。如果vendor.img中的硬件驱动程序和固件与设备的硬件配置不匹配,可能会导致设备无法正常工作,或者在某些情况下,甚至会导致设备损坏。
- 为了保证设备的稳定性和兼容性,设备的原始设备制造商(OEM)会在设备发布时提供相应的vendor.img文件。用户通常无法修改vendor.img文件,因为它是只读的,并且与设备的硬件配置紧密相关。如果用户需要更新设备的硬件驱动程序或固件,通常需要通过设备的系统更新功能来完成,而不是直接修改vendor.img文件。
- Android的vendor.img是一个重要的文件,它包含了特定于设备的硬件驱动程序、固件和配置文件。它是Android系统中的一个重要组成部分,用于确保系统的稳定性和兼容性。用户通常无法修改vendor.img文件,因为它是只读的,并且与设备的硬件配置紧密相关。
🌻3.解决方案
vendor/google_devices/redfin/BoardConfigPartial.mk
- BOARD_PREBUILT_VENDORIMAGE := vendor/google_devices/redfin/proprietary/vendor.img
- BOARD_VENDORIMAGE_PARTITION_SIZE := 536870912 # 512MB
修改为:
+ ENABLE_VENDOR_IMAGE := true
+ BOARD_VENDORIMAGE_PARTITION_SIZE := 1073741824 # 1GB
+ BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
+ TARGET_COPY_OUT_VENDOR := vendor
+ ALLOW_MISSING_DEPENDENCIES=true