Android Framework开发定制系统

616 阅读2分钟

成功编译了官方提供的系统源码后,我们就可以开始对系统进行改造,编程符合我们自己需求的系统了。 常规的系统定制有以下项:

  • 修改开机启动Logo
  • 修改开机启动动画
  • 修改默认屏幕方向
  • 修改默认语言
  • 修改默认时区
  • 修改系统时间24小时制
  • 修改默认打开网络ADB
  • 修改状态栏是否默认隐藏
  • 修改内置输入法
  • 内置APP的几种方法
  • 删除内置应用
  • 设置开机启动应用
  • 设置桌面布局
  • 设置打开或关闭未知应用安装功能

一、修改开机启动Logo

  • 准备 logo
    • 制作新的 logo.bmp
      • 图片属性和默认的 logo.bmp 一致,否则会出现颠倒异常
      • width,height 都为偶数
      • 如果是png图片可以使用sd-fuse_rk3399中的工具生成bmp文件,使用方式如下:
cd sd-fuse_rk3399
convert files/logo.jpg -type truecolor /tmp/logo.bmp
convert files/logo.jpg -type truecolor /tmp/logo_kernel.bmp
  • 替换 logo
    • 替换kernel/logo.bmp
    • 替换kernel/logo_kernel.bmp

二、修改启动动画

2.1 临时修改的方式(前提是当前系统已经开启了开机动画配置)

  • 准备 bootanimation.zip
    • 准备 png 文件
      • width,height 都为偶数
    • 准备 desc.txt 文件,比如
      800 1280 30
      p 0 0 part0
      
      • 800 1280 30含义:前两个数字代表图片的像素宽度和高度,30 代表帧数,也就是1秒播放的图片张数
      • p 0 0 part0含义:p 代表标志位,0 表示无限循环,0 表示阶段间隔时间为0,part0 表示对应文件夹
      • desc.txt 文本格式:Unix+UTF-8
    • 制作 bootanimation.zip
      • 存储方式压缩成zip文件
  • push bootanimation.zip
    adb shell setprop persist.sys.root_access 3
    adb root
    adb remount
    adb push bootanimation.zip system/media/bootanimation.zip
    adb shell reboot
    

2.2 代码修改的方式

  • 修改device/rockchip/common/BoardConfig.mk中的配置BOOT_SHUTDOWN_ANIMATION_RINGING ?= true
  • 修改 vendor/rockchip/common/tools/log_capture/crashlog/tests/res/system/build.prop 增加ro.boot.vendor.bootanim=true
  • 准备 bootanimation.zip
    • 更换part目录中的图片,注意图片要按序号命名。比如001.png,002.png....
    • 按需求和实际情况修改desc.txt文件
    • 在windwos下打包,注意选择“仅存储”,且不要新建bootanimation文件夹,而是直接打包文件。
    • 在linux下打包 zip -r -0 bootanimation.zip part1 desc.txt
    • 把制作好的bootanimation.zip放到device/rockchip/CPU_TYPE/目录下
  • device/rockchip/CPU_TYPE/device.mk文件里,添加如下内容:
    PRODUCT_COPY_FILES += \
           device/rockchip/CPU_TYPE/bootanimation.zip:/system/media/bootanimation.zip