74款android开机动画,修改Android系统开机动画

74款android开机动画,修改Android系统开机动画Android系统开机动画包括两部分:开机显示的ANDROID文字;ANDROID发光动画。这篇文章说的开机动画是第一种,下面开始正文!1.制作当前屏幕像素的图片(模拟器默认为320*480)使用PS制作一张320*480的图片,保存时选“保存为Web所用格式”,然后在弹开的窗口上,“预设”项选择“PNG-24”,保存为android_logo.png注:好像只支持png-24,其他格式生…

大家好,又见面了,我是你们的朋友全栈君。

Android系统开机动画包括两部分:

开机显示的 ANDROID 文字;

ANDROID发光动画。

这篇文章说的开机动画是第一种,下面开始正文!

1. 制作当前屏幕像素的图片(模拟器默认为320*480)

使用PS制作一张320*480的图片,保存时选“保存为 Web

所用格式”,然后在弹开的窗口上,“预设”项选择“PNG-24”,保存为android_logo.png

注:好像只支持png-24,其他格式生成的rle文件显示不正常,有兴趣大家可以再验证一下。

2. 将图片转换为raw格式

使用linux下的ImageMagick自带的convert命令,进行raw格式转换,命令为:

convert -depth 8 android_logo.png

rgb:android_logo.raw

注:ubuntu 10.04 默认已经安装ImgageMagick工具,如果当前系统没有安装,可以执行下面的命令安装:

sudo apt-get install imagemagick

3. 将raw格式转化为rle文件

需要用到android编译后的rgb2565工具,在android/out/host/linux-x86/bin目录下(android为当前源码所在目录),转换命令如下:

rgb2565 -rle < android_logo.raw >

initlogo.rle

到目前为止,启动需要显示的图像已经做好了,就是initlogo.rle,注意文件名必须是这个,如果想改文件名,需要修改android/system/core/init/init.h中的宏:

#define INIT_IMAGE_FILE “/initlogo.rle”

============================================================================================

下面需要将initlogo.rle加入的android文件系统中

4.

找到ramdisk.img文件(android/out/target/product/generic/ramdisk.img),将文件名改为ramdisk.img.gz,然后使用下面的命令解压:

gunzip ramdisk.img.gz

解压后得到ramdisk.img,可能有人要问,怎么文件名又改回去了?其实不然,使用file

ramdisk.img查看一下就知道了:

解压前:ramdisk.img: gzip compressed data, from Unix

解压后:ramdisk.img: ASCII cpio archive (SVR4 with no CRC)

跑题了,还是说正事儿。

5. 使用cpio提取文件:

新建一个temp目录:

mkdir temp

cd temp

cpio -i -F ../ramdisk.img

6. 导出文件列表:

cpio -i -t -F ../ramdisk.img >

list 注:list是一个文本文件,里面存储了ramdisk.img的文件结构,我们需要在这个文件中加入initlogo.rle这一行,修改后的文件如下:

data

default.prop

dev

init

init.goldfish.rc

init.rc

initlogo.rle

proc

sbin

sbin/adbd

sys

system

7. 生成ramdisk.img

cpio -o -H newc -O ramdisk.img < list

注:根据list文件的描述,生成ramdisk.img文件

8.

用ramdisk.img覆盖sdk目录下的ramdisk.img(android-sdk-windows/platforms/android-2.1/images/ramdisk.img),最好先备份一下。

9. 启动模拟器,就可以看到我们自己做的的开机界面了。

/

开机图片设置 的下载地址为:http://docs.google.com/leaf?id=0 …

TIzOGQ5OWQ3&hl=en

init 文件下载地址 http://docs.google.com/leaf?id=0 …

2RiYjZjNjM2&hl=en

T卡文件下载地址:http://docs.google.com/leaf?id=0 …

GVjYzVhMjg4&hl=en

开机图片设置 软件原理:

根据android 系统 开机LOGO和开机动画的存放路径:/initlogo.rle 和

/data/local/bootanimation.zip 在init.rc 中 建立两个链接:

/initlogo.rle

->/data/data/com.android.e139.gallery/initlogo.rle 和

/data/local/bootanimation.zip

->/data/data/com.android.e139.gallery/bootanimation.zip 来完成开机LOGO和开机动画的动态设定

安装要求:

1.本apk文件只能安装在android 2.1 或 2.0的操作系统 中

2.必须修改android 根目录下面的两个文件:init.rc 和 init 功能才能实现设置开机LOGO和开机动画的功能

修改init.rc 和 init 的方法:

1.修改 init.rc 和init文件需要修改手机中的 boot.img

导出方法:

cat /dev/mtd/mtd2 > /sdcard/root.img

然后

adb pull /sdcard/root.img ./

这样就把root.img拷贝到本地目录下了。

boot.img的组成结构是

+—————–+

| boot header | 1 page

+—————–+

| kernel | n pages

+—————–+

| ramdisk | m pages

+—————–+

| second stage | o pages

+—————–+

那我们要做的就是把这几个部分分别分离出来

我们现在先进行镜像分离。用命令

./split_bootimg.pl boot.img

成功执行后,可以得到两个文件,一个是boot.img-kernel,另一个是boot.img-ramdisk.gz。我们这里以修改ramdisk为例,所以将其解包

mkdir ramdisk

cd ramdisk

gzip -dc ../boot.img-ramdisk.gz | cpio -i

cd ..

2.进入ramdisk 修改init.rc 在init.rc 中增加:

on logo-init

mkdir

/data 0775 system system

# We chown/chmod /data again so because mount is run as root +

defaults

mount yaffs2

mtd@userdata /data nosuid nodev

chown system

system /data

#for other

user can read this dir

chmod 0775

/data

symlink

/data/data/com.android.e139.gallery/initlogo.rle /initlogo.rle

on early-boot

# copy

file symlink

/data/data/com.android.e139.gallery/bootanimation.zip

/data/local/bootanimation.zip

chmod 0666

/data/local/bootanimation.zip

再将已经下载的init文件覆盖到目录下面的init文件

3.生成新img 回到ramdisk 的上一级目录后执行:

mkbootfs ./ramdisk | gzip > ramdisk-new.gz mkbootimg

–cmdline ‘no_console_suspend=1 console=null’ –kernel

boot.img-kernel –ramdisk ramdisk-new.gz -o boot-new.img

就会重新生成 boot-new.img

3.刷入新img

生成了新的img后,我们如何在系统上应用我们的新boot.img呢?首先,把img文件放到sdcard上去

adb push ./boot_new.img /sdcard

然后执行这两个操作

cat /dev/zero > /dev/mtd/mtd2

flash_image boot /sdcard/mynewimage.img

执行第一个操作时,可能会提示你

write: No space left on device

这个信息没关系,不用管它。两个命令都执行后,最后adb shell

reboot即可。如果重启顺利,那么恭喜你,你刷成功了.

安装步骤:

1.按上面的步骤修改手机中的init.rc 和init文件

2.把下载的T卡文件放到T卡中

3.安装 开机图片设置.apk文件

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146747.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 操作系统主存储器空间的分配和回收_内存管理的功能

    操作系统主存储器空间的分配和回收_内存管理的功能1.什么是内存?有何作用?几个常用的数量单位2.进程运行的基本原理1.指令的工作原理2.逻辑地址vs物理地址3.从写程序到程序运行4.装入的三种方式1.绝对装入2.可重定位装入(静态重定位)3.动态运行时装入(动态重定位)5.链接的三种方式1.静态链接2.装入时动态链接3.运行时动态链接二、内存管理的概念1.内存空间的分配与回收1.单一连续分配2.固定分区分配3.动态分区分配1.首次适应算法2.最佳适应算法3.最坏适应算法

    2022年10月7日
    0
  • XML格式化的一段代码

    XML格式化的一段代码起因没有找到android有相关的工具类,又不要为了格式化个xml导入一个jar包。于是自己写了个xml格式化的代码。代码如下:/***格式化xml**@return*/publicStringformat(Stringstr){StringBufferbuffer=…

    2022年7月16日
    10
  • Ubuntu16.04安装_vs安装路径

    Ubuntu16.04安装_vs安装路径TableofContents一、前言二、安装过程1、下载VSCode2、安装过程3、下载C++模块4、汉化5、常用快捷键一、前言因为要用到在ubuntu系统中使用VSCode来编写C++代码,在此分享VSCode的安装过程。之前我们讲了如何制作U盘启动盘,如何安装双系统,如何安装谷歌浏览器等,如果不了解的同学请看我的分类[操作系统]:操…

    2022年9月18日
    0
  • linux中一个tomcat的一个端口可以启动多个工程(工程名要不一样)

    linux中一个tomcat的一个端口可以启动多个工程(工程名要不一样)

    2021年7月19日
    68
  • EnterpriseLibrary 介绍[通俗易懂]

    EnterpriseLibrary 介绍[通俗易懂]创建数据库对象的方法http://tutuya.cnblogs.com/articles/441337.html

    2022年10月20日
    0
  • idea远程debug weblogic_idea远程调试代码

    idea远程debug weblogic_idea远程调试代码https://blog.csdn.net/u013559614/article/details/123375027Idea远程调试tomcatIdea配置配置remote传输方式,默认为Socket​Socket:macOS及Linux系统使用此种传输方式;​Sharedmemory:Windows系统使用此种传输方式。​调试模式,默认为Attach​Attach:此种模式下,调试服务端(被调试远程运行的机器)启动一个端口等待我们(调试客户端)去连接;​

    2022年9月10日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号