dvbbs
养殖人社区养殖人家园欢迎您!
有问必答!
36名中大专畜牧专业版主为您排忧解难!
收藏本页
联系我们
论坛帮助
dvbbs

中国养殖人社区【养殖人休闲娱乐区】精华电脑知识交流 → [原创]修改安卓系统开机画面,大连水产网主编亲身实验验证

发酵床养猪养鸡养鸭网 养殖业新闻与市场动态 养殖路上与养殖日记 廉价饲料利用技术 养猪与猪病防治技术 养鸡与鸡病防治技术
养鸭与鸭病防治技术 养鹅与鹅病防治技术 养牛与牛病防治技术 特种养殖与疾病防治技术 淘宝安全购买万种养殖产品 牧草种植与利用技术

  共有582人关注过本帖树形打印

主题:[原创]修改安卓系统开机画面,大连水产网主编亲身实验验证

美女呀,离线,留言给我吧!
shun露露
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:初级技术员 贴子:3 积分:236 威望:0 精华:0 注册:2012/4/24 16:37:00
[原创]修改安卓系统开机画面,大连水产网主编亲身实验验证  发贴心情 Post By:2012/4/24 17:25:00

现在最最主流的操作系统要数安卓了吧,那么拥有一款自己的独特好看的开机画面是不是很炫呢?今天跟大家分享下我们身实验验证的一个修改安卓系统开机画面的小方法。 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 tempcd tempcpio -i -F /ramdisk.img 6. 导出文件列表:cpio -i -t -F /ramdisk.img > list??????注:list是一个文本文件,里面存储了ramdisk.img的文件结构,我们需要在这个文件中加入initlogo.rle这一行,修改后的文件如下:datadefault.propdevinitinit.goldfish.rcinit.rcinitlogo.rleprocsbinsbin/adbdsyssystem 7. 生成ramdisk.imgcpio -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 split_bootimg.pl 下载地址:http://android-dls.com/files/linux/split_bootimg.zip 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.img3.刷入新img 生成了新的img后,我们如何在系统上应用我们的新boot.img呢?首先,把img文件放到sdcard上去 adb push ./boot_new.img /sdcard 然后执行这两个操作 cat /dev/zero > /dev/mtd/mtd2flash_image boot /sdcard/mynewimage.img 执行第一个操作时,可能会提示你 write: No space left on device 这个信息没关系,不用管它。两个命令都执行后,最后adb shell reboot即可。如果重启顺利,那么恭喜你,你刷成功了。 安装步骤:1.按上面的步骤修改手机中的init.rc 和init文件2.把下载的T卡文件放到T卡中3.安装 开机图片设置。apk文件 修改boot.img的方法参考:http://www.kunli.info/2009/09/14/how-to-modify-ramdisk-android/ 和http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images 大连海参 水产:http://www.dlshuichanwang.com与您分享。


海参 水产
:http://www.dlshuichanwang.com
特种养殖与疾病防治技术 支持(0中立(0反对(0回到顶部