Android 开机动画动态替换

目前没有办法做到动态替换,以下是自己尝试的几个方向(均已失败告终,我在这方面懂的不是很多):

  1. 修改BootAnimation.cpp、BootAnimation.h、Android.mk文件,BootAnimation.cpp中包含了开机动画bootanimation.zip的路径,也就是加载的时候会去找这几个路径。我的做法是修改SYSTEM_BOOTANIMATION_FILE这个路径,比如修改为/data/media/bootanimation.zip,开机启动后,结果是没有读到该文件,开机动画阶段黑屏。Android 开机动画动态替换_第1张图片
  2. 第二种方法是将PRODUCT_COPY_FILES写入.mk文件中,我是将其写入了media.mk文件中,或者写入其它.mk文件中,该方案不能实现动态copy的过程,由于是写入.mk文件中,该脚本命令只在编译的时候起作用,也就是说实际上该脚本命令只能执行一次,不能实现开机动画的动态替换。
  3. 在init.rc文件中写入cp /data/media/bootanimation.zip /system/media/bootanimation.zip命令,替换位置如下图所示,该方法也不可行,原因是/system目录是只读的权限,必须root后重新挂载为读写权限才可以。Android 开机动画动态替换_第2张图片
  4. 目前只在手动替换/system/media/bootanimation.zip的方案上走通了,具体做法是连接好adb,进行以下操作,此时就会使system具有读写权限,然后手动替换/system/media/bootanimation.zip即可。/system所在分区是加载到内存里的,所以你修改它的读写权限,创建文件、删除文件等操作在重启之后,均是无效的。Android 开机动画动态替换_第3张图片
  5. 大家如果有好的方法可以留言。

 

 

 

你可能感兴趣的:(Android)