刷自定义开机画面:
$ fasboot flash splash1 mysplash.rgb565
android文件系统制作教程(3) —- 利用Makefile制作update.zip
从update.zip这个刷机包反推的介绍整个android文件系统的制作过程
并编写了一个Makefile文件,利用 Makefile的”依赖检查”机制管理各种文件的生成步骤和依赖关系;
-1.前期准备
将所有的文件都放在/home/xiaoliang/workspace 目录下,目录下有这些文件夹:
auto-sign data system META-INF root
两个环境变量含义和必须的目录:
SRC_HOME : android源代码所在的目录,例如我放在 /home/xiaoliang/android_src 下
JAVA_HOME: JAVA SDK的目录,我的是 /server/jdk1.5.0_21
0.进行一次源代码编译
1.然后看下面的Makefile
#设置环境变量,JAVA_HOME默认就有
SRC_HOME=/home/liangwei/android_src
#它依赖于system,data,META-INF三个目录和一个boot.img镜像,并且它需要签名
update.zip : boot.img $(shell find system data META-INF)
#生成update_unsign.zip
zip -qr update_unsign.zip system data META-INF boot.img
#签名
$(JAVA_HOME)/bin/java -jar auto-sign/signapk.jar auto-sign/testkey.x509.pem auto-sign/testkey.pk8 update_unsign.zip update.zip
#删除中间文件
rm -f update_unsign.zip
#依赖于ramdisk.img 和 kernel.img 两个镜像
boot.img:ramdisk.img kernel.img
#使用mkbootimg制作
$(SRC_HOME)/out/host/linux-x86/bin/mkbootimg --cmdline 'no_console_suspend=1 console=null' --kernel kernel.img --ramdisk ramdisk.img -o boot.img
#其实它就是源码编译后生成的zImage,拷贝过来改个名字
kernel.img:$(SRC_HOME)/kernel/msm/arch/arm/boot/zImage
cp -f $(SRC_HOME)/kernel/msm/arch/arm/boot/zImage ./kernel.img
#是将root文件夹使用mkbootfs制作的镜像
ramdisk.img:$(shell find root)
$(SRC_HOME)/out/host/linux-x86/bin/mkbootfs ./root |gzip > ramdisk.img
2.总结一下,其实update.zip主要就是三个部分组成:
启动部分: root文件夹 + zImage内核镜像 = boot.img
系统文件部分: system文件夹
用户文件部分: data文件夹
就是:root + system + data + zIamage = update.zip
3.文件的出处
root,system,data文件夹: 来自”$(SRC_HOME)/out/target/product/generic”
zIamage: 来自”$(SRC_HOME)/kernel/msm/arch/arm/boot/zImage”
4.刷机脚本:META-INF文件夹
该需要自己创建,并且里面包含1个文件 : com/google/android/update-script ,内容为:
show_progress 0.500000 0
format SYSTEM:
copy_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 0755 0644 SYSTEM:
set_perm_recursive 0 2000 0755 0755 SYSTEM:bin
set_perm 0 3003 02755 SYSTEM:bin/netcfg
set_perm 0 3004 02755 SYSTEM:bin/ping
set_perm 0 0 04755 SYSTEM:bin/su
set_perm 1002 1002 0440 SYSTEM:etc/dbus.conf
set_perm 1014 2000 0550 SYSTEM:etc/dhcpcd/dhcpcd-run-hooks
set_perm 0 2000 0550 SYSTEM:etc/init.goldfish.sh
set_perm_recursive 0 0 0755 0555 SYSTEM:etc/ppp
show_progress 0.200000 0
delete_recursive DATA:dalvik-cache
copy_dir PACKAGE:data DATA:
set_perm_recursive 1000 1000 0771 0555 DATA:dalvik-cache
write_raw_image PACKAGE:boot.img BOOT:
show_progress 0.200000 10
android文件系统制作教程(4) —- makefile脚本,制作各种单独的分区文件ramdisk.img,system.img,boot.img
#***********************************
# build android rom script
#***********************************
SRC_HOME=/home/liangwei/android_src
update.zip : boot.img $(shell find system data META-INF)
rm -rf update_unsign.zip
zip -qr update_unsign.zip system data META-INF boot.img
$(JAVA_HOME)/bin/java -jar auto-sign/signapk.jar auto-sign/testkey.x509.pem auto-sign/testkey.pk8 update_unsign.zip update.zip
rm -f update_unsign.zip
boot.img:ramdisk.img kernel.img
$(SRC_HOME)/out/host/linux-x86/bin/mkbootimg --cmdline 'no_console_suspend=1 console=null' --kernel kernel.img --ramdisk ramdisk.img -o boot.img
kernel.img:$(SRC_HOME)/kernel/msm/arch/arm/boot/zImage
cp -f $(SRC_HOME)/kernel/msm/arch/arm/boot/zImage ./kernel.img
kernel-qemu:$(SRC_HOME)/kernel/common/arch/arm/boot/zImage
cp -f $(SRC_HOME)/kernel/common/arch/arm/boot/zImage ./kernel-qemu
ramdisk.img:$(shell find root)
$(SRC_HOME)/out/host/linux-x86/bin/mkbootfs ./root |gzip > ramdisk.img
system.img : $(shell find system)
$(SRC_HOME)/out/host/linux-x86/bin/mkyaffs2image ./system system.img
userdata.img:$(shell find data)
$(SRC_HOME)/out/host/linux-x86/bin/mkyaffs2image ./data userdata.img
userdata-qemu.img:userdata.img
rm -rf userdata-qemu.img
cp userdata.img userdata-qemu.img
initlogo.rle:logo.png
convert -depth 8 logo.png rgb:logo.raw
$(SRC_HOME)/out/host/linux-x86/bin/rgb2565 -rle <logo.raw >initlogo.rle
cp -rf initlogo.rle data/data/com.android.mysplash/
rm -rf logo.raw
.PHONY:run
run:system.img ramdisk.img kernel-qemu userdata-qemu.img
/server/android-sdk-linux_86/tools/emulator -show-kernel -sysdir ./
android文件系统制作教程(5) —- 两行命令从png制作启动界面initlogo.rle
用图片工具编辑好想要的png之后,保存为logo.png
在logo.png所在命令下执行命令:
#使用ImageMagick自带的convert命令,进行raw格式转换
convert -depth 8 logo.png rgb:logo.raw
#android自带的rgb2565工具,对raw文件进行rle565格式转换
$(SRC_HOME)/out/host/linux-x86/bin/rgb2565 -rle <logo.raw >initlogo.rle
#然后将initlogo.rle拷贝到android系统根目录,也就是root目录底下
cp initlogo.rle root/
#删除中间文件
rm -f logo.raw
相关推荐
根据给定的文件信息,我们将深入探讨Android手机ROM制作的关键知识点,从基础知识到具体实践,力求全面而细致。 ### Android手机ROM制作的核心概念 #### 1. Java环境配置 ROM制作过程中,Java环境的配置至关重要。...
【安卓Android手机主题制作教程】 安卓Android手机主题制作教程是一篇详细介绍如何自定义MIUI主题的指南,适合那些想要打造个性化手机界面的用户。MIUI是基于Android系统的一个深度定制界面,提供了丰富的主题...
安卓 ROM 包制作教程 在这篇教程中,我们将学习如何制作安卓 ROM 包,但首先,我们需要准备好环境和工具。下面是详细的讲解: 一、环境变量设定 在开始制作 ROM 包之前,我们需要下载并安装 JDK(Java ...
Android ROM简单制作教程是指使用Android操作系统制作ROM的过程。这个教程从基础知识开始,介绍了Android操作系统的基本概念、ROM制作的原理、工具和步骤等内容。 一、Android基础知识普及 Android是一种基于...
台电平板双系统安装教程涉及了Android和Windows两大操作系统,其内容主要涵盖了刷机前的准备工作、注意事项、刷入Android系统与Windows系统的方法及步骤。 首先,在准备工作中,用户需要从台电官网下载与机器背壳ID...
四、制作安卓锁机教程重启双清无效的解决方案 当常规的重启和双清无效时,可能需要以下步骤: 1. 进入Fastboot模式:如果设备无法进入恢复模式,可以尝试通过USB数据线连接电脑,然后在开机状态下按特定组合键(如...
总的来说,“安卓备份文件ab文件解压工具”是Android用户和开发者处理备份数据的重要辅助工具,它简化了对`ab`文件的操作,使数据恢复和分析变得更为便捷。通过掌握这个工具的使用,用户可以更好地管理和保护自己的...
安卓ROM制作九大教程 本教程涵盖了安卓ROM制作的九大方面,包括ROM的基础知识、ROM的美化、ROM的自定义等。通过本教程,读者将了解到ROM的基本概念、如何删除不需要的软件、如何添加新的软件、如何美化ROM、如何...
"安卓ROM制作九大教程.pdf" 安卓ROM制作九大教程.pdf是Android ROM制作的详细...安卓ROM制作九大教程.pdf提供了详细的安卓ROM制作教程,涵盖了安卓ROM的基本概念、工具和步骤,为读者提供了系统性的安卓ROM制作指南。
### 安卓手机ROM制作教程 #### 一、制作目的 - **培养兴趣与快乐**:通过亲手制作ROM,能够激发个人对技术的兴趣,并从中体验解决问题的乐趣。 - **学习手机知识**:掌握必要的手机硬件与软件知识,为将来进一步...
移动U盘运行Android系统制作教程 本教程将详细介绍如何利用U盘运行Android X86系统,这是一种便捷且低成本的方法,让您可以随时随地体验Android系统。以下是详细的步骤和注意事项: **优点:** 1. **便携性**:只...
【安卓update.zip刷机包制作教程】 在Android操作系统中,"刷机"是指通过替换系统固件来更新或个性化手机的操作。"update.zip"文件是Android系统常用的刷机包格式,通常包含新的系统镜像、补丁或者第三方ROM。本...
"Android X86 系统安装教程" Android X86 系统是一款由谷歌开发的操作系统,最初设计用于智能手机和...本文详细介绍了使用 U 盘安装安卓 X86 系统的步骤,并讲解了 Android X86 系统的优点和安装教程,供读者参考。
这个软件可能由俄罗斯开发者(“老毛子”在互联网上常用来指代俄罗斯人)制作,专门针对安卓系统进行定制化修改。 描述中的“机顶盒固件修改,解压文件,打包文件自动拖拽即可”揭示了该软件的主要功能和操作方式。...
### 安卓系统手机开机动画制作教程 #### 一、开机动画基本概念与组成结构 在深入了解安卓系统的开机动画制作之前,我们需要先理解什么是开机动画以及它的基本构成。 **开机动画**指的是当用户开启安卓设备时显示...
【安卓ROM制作与美化教程详解】 制作个性化的安卓ROM,让你的手机更加符合个人喜好,...不过,这需要一定的技术基础,对文件系统和Android系统结构有所了解。如果你是初学者,建议从简单的修改开始,逐渐积累经验。
在描述中提到的“绝对经典的几篇文章”,暗示我们将通过一系列教程来学习制作YAFFS文件系统。如果你阅读并理解了这些资料,应该能够掌握创建和管理YAFFS文件系统的基本技能。 首先,让我们从`制作cramfs基本文件...
3. **格式化SD卡**:使用SD卡格式化工具,将SD卡格式化为FAT32文件系统,这是大多数安卓设备支持的标准格式。 4. **下载金卡制作软件**:找到并下载适用于你的HTC设备的金卡制作工具。这些工具通常是基于命令行或者...