手把手教你深度定制tiny4412安卓5.0系统(一)---开发板如何预置文件到android系统
http://blog.****.net/morixinguan/article/details/70467973
想要预置文件,首先要了解Android源码中device这个目,打开这个目录我们看到,这个目录厂家会针对不同的开发板做一些修改:
在这个目录中,我们看到有不同的厂家定制的信息,我们这款开发板是友善之壁提供的,那么我们只要进入friend-arm这个目录下就可以了,进到这个目录,看到tiny4412,我们切换进入看到:
要预置相关的文件,前面有一篇文章专门讲过怎么预置,一般是在device.mk中进行,但是平台不同,供应商会整合到其它地方:
文章如下,下面我们将参考这篇文章进行预置。
http://blog.****.net/morixinguan/article/details/70170641
我们打开当前的device.mk看下:
- $(call inherit-product, device/friendly-arm/tiny4412/device_base.mk)
- $(call inherit-product-if-exists, hardware/samsung_slsi/exynos4/exynos4.mk)
- # See comment at the top of this file. This is where the other
- # half of the device-specific product definition file takes care
- # of the aspects that require proprietary drivers that aren't
- # commonly available
- $(call inherit-product-if-exists, vendor/friendly-arm/tiny4412/device-tiny4412.mk)
于是我们切换到Android源码根目录,找到这个文件,打开:
- VENDOR_PATH := vendor/friendly-arm/tiny4412
- # Mali
- PRODUCT_PACKAGES += \
- libEGL_mali \
- libGLESv1_CM_mali \
- libGLESv2_mali \
- libMali \
- libUMP
- # gralloc, ion
- PRODUCT_PACKAGES += \
- libsecion \
- gralloc.tiny4412
- # hwcomposer
- PRODUCT_PACKAGES += \
- hwcomposer.exynos4
- # HDMI
- PRODUCT_PACKAGES += \
- libTVOut \
- libhdmiclient \
- sechdmiservice
- # Misc other modules
- PRODUCT_PACKAGES += \
- libnetcmdiface
- # Prebuilts
- PRODUCT_PACKAGES += \
- prebuilt.firmware \
- prebuilt.kmodules \
- prebuilt.busybox \
- prebuilt.gapps \
- prebuilt.faapps
- # FriendlyARM Support
- PRODUCT_COPY_FILES += \
- $(VENDOR_PATH)/proprietary/fa_codec_ctrl:system/vendor/bin/fa_codec_ctrl \
- $(VENDOR_PATH)/proprietary/sensors.tiny4412.so:system/lib/hw/sensors.tiny4412.so \
- $(VENDOR_PATH)/bootanimation/bootanimation.zip:system/media/bootanimation.zip
- ifeq ($(BOARD_USES_PWMLIGHTS),false)
- PRODUCT_COPY_FILES += \
- $(VENDOR_PATH)/proprietary/lights.tiny4412.so:system/lib/hw/lights.tiny4412.so
- endif
- PRODUCT_PROPERTY_OVERRIDES += \
- net.eth0.startonboot=1
- -include $(VENDOR_PATH)/wifi/config/config.mk
比如上面我添加的这行:$(VENDOR_PATH)/bootanimation/bootanimation.zip:system/media/bootanimation.zip
bootanimation.zip这个文件是我自己添加的,bootanimation这个目录也是我在vendor/friendly-arm/tiny4412/这个目录下创建的,上面的$(VENDOR_PATH)就是一个环境变量,代表当前路径。
添加好之后重新编译Android系统就可以了,这些预置的文件会被自动拷贝的out目录下进行打包,一般会打包在system.img里。
以后,如果要预置文件到开发板,就可以在这里进行预置。