bootanimation

Where it starts:

./frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp:638:    property_set("ctl.start", "bootanim");


Where it stops:

./frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp:637:    property_set("service.bootanim.exit", "0");


Where is the executable:

./system/core/rootdir/init.rc:511

service bootanim /system/bin/bootanimation
    class main
    user graphics
    group graphics
    disabled
    oneshot


./out/target/product/flo/system/bin/bootanimation


Where is it copied from:

./build/target/product/embedded.mk:23

  PRODUCT_PACKAGES += \
      bootanimation \



Where is the source code

./frameworks/base/cmds/bootanimation


Boot animation files:

#define USER_BOOTANIMATION_FILE "/data/local/bootanimation.zip"
#define SYSTEM_BOOTANIMATION_FILE "/system/media/bootanimation.zip"
#define SYSTEM_ENCRYPTED_BOOTANIMATION_FILE "/system/media/bootanimation-encrypted.zip"
#define EXIT_PROP_NAME "service.bootanim.exit"

使用bootanimation 的優先順序

(1) 加密檔

property_get("vold.decrypt", decrypt, ""); decrypt 非零或是等於 "trigger_restart_min_framework" 且 SYSTEM_ENCRYPTED_BOOTANIMATION_FILE 存在

(2) USER_BOOTANIMATION_FILE 存在

(3) SYSTEM_BOOTANIMATION_FILE

(4) 當以上檔案不存在時, 使用 AndroidAnimation


A. Bootanimation.zip used by BootAnimation::movie()

desc.txt 格式

"%d %d %d", width, height, fps

"%c %d %d %s", type, count, pause, path

playUntilComplete = type == 'c';


B. AndroidAnimation

bool BootAnimation::android()

    initTexture(&mAndroid[0], mAssets, "images/android-logo-mask.png");
    initTexture(&mAndroid[1], mAssets, "images/android-logo-shine.png");


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值