全志的固件工具可以做的事情实在是超强,
最常见的客户要求:
1. 修改开机画面
这个最简单,直接选替换开机画面,然后选择新的bmp文件就可以了,当然分辩率要跟原来的一致
开机画面叫initlogo.rle,还有一个叫initlogo.bmp, 他们的区别是,一个是转换了格式的,rle格式是用全志自己的一个叫osdgen的工具转换出来。
这个工具本身在lichee/tools里面带有,而且还有说明文档。
开机画面的路径:
PRODUCT_COPY_FILES += \
device/softwinner/polaris-evb/kernel:kernel \
device/softwinner/polaris-evb/modules/modules/nand.ko:root/nand.ko \
device/softwinner/polaris-evb/init.sun8i.rc:root/init.sun8i.rc \
device/softwinner/polaris-evb/ueventd.sun8i.rc:root/ueventd.sun8i.rc \
device/softwinner/polaris-evb/initlogo.rle:root/initlogo.rle \
device/softwinner/polaris-evb/media/custominitlogo.rle:system/media/custom/custominitlogo.rle \
device/softwinner/polaris-evb/media/bootanimation_1.zip:system/media/bootanimation_1.zip \
device/softwinner/polaris-evb/media/custominitlogo.bmp:system/media/custominitlogo.bmp \
device/softwinner/polaris-evb/media/boot.wav:system/media/boot.wav \
device/softwinner/polaris-evb/media/bootlogo.bmp:system/media/bootlogo.bmp \
device/softwinner/polaris-evb/media/custombootlogo.bmp:system/media/custom/bootlogo.bmp \
device/softwinner/polaris-evb/media/bootlogo.bmp:system/bootlogo.bmp \
device/softwinner/polaris-evb/media/initlogo.bmp:system/media/initlogo.bmp \
device/softwinner/polaris-evb/fstab.sun8i:root/fstab.sun8i \
device/softwinner/polaris-evb/init.recovery.sun8i.rc:root/init.recovery.sun8i.rc \
#device/softwinner/polaris-evb/media/bootanimation.zip:system/media/bootanimation.zip
2. 换开机音乐
也可以直接在主界面改,格式是wav格式,mp3格式不知道行不行,可以用格式工厂软件把mp3转为wav。
3. 改机型,usb盘符,蓝牙识别号
机型和固件型号可以在主界面改
usb盘符麻烦一点,要在build.prop里面修改,点修改build.prop的按键,然后就会显示build.prop文件的内容,找到format_userdata的部分,把变量的值改成你想要的。
蓝牙型号在bdroid_build.cfg里面
要更新的文件是:
lib/hw/bluetooth.default.so4. 改默认语言
也是修改build.prop,找到lang的项,修改成想要的语言,默认是en,就是英文
5. 预装的apk
有2种办法,第一种是可以点内置apk的按钮,往里面添加
第二种是进入固件工具的安装目录,找到里面一个fsop的目录,里面有一个当前被修改的固件的镜像目录,然后在这个目录里面你可以看到system,再进去找到preinstall,把想安装的apk放到这个文件夹里面即可。
然后当升级完了之后,刚进系统是不会马上看到装的软件的,因为这个时候系统在后台装软件,要过一段时间之后,它会默默无闻地装好。
这里要说一下这个镜像目录的问题,一开始我是不知道的,因为它已经镜像给你了,所以你可以在这里面为所欲为。
6. 桌面壁纸
桌面的壁纸是在一个叫launcher2的apk里面,路径就是packages/app/luancher2/res,在resource文件夹里有各种分辨率的资源,而800x480分辨率的资源一般在hdip目录里面,或者nodip里面。要想快速定位某个文件的位置,除了用find命令进行查找,还可以用sgrep命令,sgrep 要查找的文件,这样就会列出文件夹里面跟这个文件有关的所有资源。安卓的系统如此庞大,如果没有这种查找搜索工具,维护起来是很困难的,幸好有这种工具,才可以有效提高工作的效率。
7. 解锁图标
解锁图标的位置是一个叫keyguard的apk,也是在相关的res文件夹里面。
android/frameworks/base/policy/src/com/android/internal/policy/impl/keyguard
或者直接用固件工具改framework.apk里面的ic_lockscreen_handle_normal.png文件,替换掉即可
8. 各种资源文件的替换
有一些mk文件会负责把某个文件从一个地方复制到另外一个地方,例如bootlogo.bmp,bootanimation.zip,不过最终这些文件都会被复制到out目录下的system目录里。还有一些脚本文件会判断某个文件是否存在,如果不存在的话就用系统的默认图片来代替,我曾经把那个系统开机显示的小机器人图片删除,然后编译没有出错,升级之后显示的是全志a31的logo。要搞清楚这些文件是怎么样从一个地方复制到另一个地方,最好的办法就是用sgrep命令,这样即使某个脚本里面做了复制的动作,也可以查找得到。
9. 开机初始化所做的事情
开机初始化需要用insmod来加载各种内核模块,也需要建一些临时的文件夹来copy文件,这些事情在sun8i.init.rc里面做的。
补充:
===============桌面壁纸的路径=====================================
1.用来覆盖原有壁纸的目录,如果对应的分辨率存在,则优先使用此路径下的jpg./device/softwinner/polaris-evb/overlay/frameworks/base/core/res/res/drawable-sw720dp-nodpi
2.正常情况下的引用路径:
./frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.jpg
3.系统自带的壁纸路径:
/work/trunk/android/packages/apps/Launcher2/res/drawable-nodpi
其他nodpi的目录也有一些其他的jpg,如果需要也可以引用。
=======================================================================