手把手教你深度定制tiny4412安卓5.0系统(一)---开发板如何预置文件到android系统

想要预置文件,首先要了解Android源码中device这个目,打开这个目录我们看到,这个目录厂家会针对不同的开发板做一些修改:

在这个目录中,我们看到有不同的厂家定制的信息,我们这款开发板是友善之壁提供的,那么我们只要进入friend-arm这个目录下就可以了,进到这个目录,看到tiny4412,我们切换进入看到:

要预置相关的文件,前面有一篇文章专门讲过怎么预置,一般是在device.mk中进行,但是平台不同,供应商会整合到其它地方:

文章如下,下面我们将参考这篇文章进行预置。

http://blog.csdn.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)

我们看到,这个脚本包含了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

有了前面的经验,我们知道,预知文件需要在上边的PRODUCT_COPY_FILES添加,我们可以把开机动画相关的文件预置进去:
比如上面我添加的这行:$(VENDOR_PATH)/bootanimation/bootanimation.zip:system/media/bootanimation.zip

bootanimation.zip这个文件是我自己添加的,bootanimation这个目录也是我在vendor/friendly-arm/tiny4412/这个目录下创建的,上面的$(VENDOR_PATH)就是一个环境变量,代表当前路径。

添加好之后重新编译Android系统就可以了,这些预置的文件会被自动拷贝的out目录下进行打包,一般会打包在system.img里。

以后,如果要预置文件到开发板,就可以在这里进行预置。

时间: 2024-10-29 20:43:15

手把手教你深度定制tiny4412安卓5.0系统(一)---开发板如何预置文件到android系统的相关文章

《Android深度探索(卷2):系统应用源代码分析与ROM定制》——第6章,第6.4节分析第一个Android系统应用:计算器

6.4 分析第一个Android系统应用:计算器 Android深度探索(卷2):系统应用源代码分析与ROM定制 本节会分析一个比较简单的Android系统应用:计算器.这个系统应用几乎被包含在所有的ROM中,也是最常用的Android系统应用之一.计算器尽管从功能上看并不复杂,但实际的实现代码还是比较多的,不过大多数代码都用于控制各种效果.布局.历史处理等.这些部分的实现与普通的Android应用没什么不同,所以本节会直接深入计算器的核心:计算表达式.因为不管计算器的外观多绚丽,最终的目的都是

手把手教你安装Red Hat Enterprise 4.0 (RHEL 4.0)

在经历了两次跳票以后, Red Hat于2007年3月14日http://www.aliyun.com/zixun/aggregation/18782.html">正式发布了RHEL5. RHEL 5将是Red Hat的商业服务器操作系统版本的第四次重要版本发布, Red Hat酝酿发布RHEL 5已经超过了两年, 主要变化包括Linux内核由2.6.9升级为2.6.18, 支持Xen虚拟化技术, 集群存储等. RHEL5的版本主要分为Sever和Desktop两个版本. 具体来说,Ser

Android系统的定制---定制系统开机动画

4.3定制Android平台系统 通常产品厂商在拿到Android源码后会在Android源码基础上进行定制修改,以匹配适应自己的产品,从本节开始,我们从最原始的Android源码系统里一步一步定制出自己的Android系统.本节主要内容包含:根据Android源码,添加新产品编译项,定制系统启动界面和文字,定制系统启动动画和声音,定制系统桌面. 4.3.1 添加新产品编译项 Android系统的源代码是一个逻辑结构非常独立工程,在一套Android源码中可以编译出多个产品映像,在需要编译某一个

网络编程-android 安卓 4.0 给一个客户端和服务器的demo。

问题描述 android 安卓 4.0 给一个客户端和服务器的demo. android 4.0以后到底是怎么联网的?求大神给一个demo.一个客户端和一个服务器的.服务器端servlet的写的吧.越详细越好.谢谢了.对那个异步消息不是很懂,还有就是子线程一块给详细点.谢谢了 解决方案 楼主,你这个问题有点大...我提供一些思路 客户端就不用说了.服务器端,按照现在的流行趋势,建议用Nodejs + MongoDB.Nodejs就类似tomcat,是给服务器端部署监听,监听客户端的请求.Mong

安卓 api 蜂鸣器-210开发板蜂鸣器驱动问题

问题描述 210开发板蜂鸣器驱动问题 210开发板已经能运行安卓系统,请问如何在安卓层面用API驱动开发板的蜂鸣器. 解决方案 WINCE6.0如何在REAL210开发板上调试应用

Switch 差点运行 Android 系统:任天堂曾找 CM 定制

任天堂公司曾经固执的表态称自己对移动平台不感兴趣,但近来<精灵宝可梦>.<超级马里奥RUN>先后登陆iOS和Android并大获成功让任天堂的手游野心显露无遗. 事实上,任天堂与Android之间还有着更加深刻的联系. 2015年6月Switch主机首次曝光时就有消息称其将运行Android系统,虽然这一传言最终被打破,但最新消息表明任天堂至少曾经尝试过为Switch安装一款定制版Android系统. 知名第三方Android定制系统团队CyanogenMod的执行主席Kirt M

手把手教你写Kconfig---基于tiny4412开发板

今天,我就来教大家写写最简单的Kconfig,什么是Kconfig? 我们配置过的信息最终会在这以下的两个文件中找到. 这个文件会被.c包含 include/generated/autoconf.h  这个autoconf.h中对应的就是一些宏,打开看看就明白了  这个文件根据.config生成,而.config是根据make menuconfig来进行生成,内核中的makefile包含了这个文件inlcude/config/auto.conf    简单的说吧,它是一个Linux驱动的配置文件

手把手教你在友善之臂tiny4412上用uboot启动Linux内核

要想用uboot启动内核,我推荐一种方法,用dnw下载内核到开发板上,然后用uboot命令启动: 首先我在网上随便下了一个dnw工具,经过移植修改后,代码如下: /* YYX--->for tiny4412 dnw version:20170423 v1 */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <malloc.h> #include <errno

MIUI、锤子,到底何谓深度定制系统?

网友盼盼:智能路由器厂商极路由发布了一款名为HiWifi OS的操作系统,号称是基于Linux和OpenWRT深度优化的操作系统.国内终端厂商似乎都很喜欢定制操作系统,早期的中国移动(微博)的OMS系统,其他还有小米的MIUI,联想的乐OS.阿里巴巴的阿里云操作系统等.何谓深度定制的操作系统?为什么国内厂商都喜欢这么干? 腾讯科技:定制操作系统是相对于原生操作系统来说的,某些开源的操作系统,例如Linux和Android允许终端厂商免费使用,终端厂商可以在其基础上做一些修改,以达到自身的一些目的