完全升级OTA包的制作流程(上)

1,    ./mk otapackage

首先介绍一下update.zip

update.zip包的结构如下:

RECOVERY$ tree -L 2

├── kernel

├── ramdisk

└── RAMDISK

├── advanced_meta_init.rc

├── data

├── default.prop

├── dev

├── etc

├── init

├── init.factory.rc

├── init.goldfish.rc

├── init.mt6516.rc

├── init.rc

├── meta_init.rc

├── proc

├── res

├── sbin

├── sys

├── system

└── tmp

BOOT$ tree -L 2

├── kernel

├── ramdisk

└── RAMDISK

├── advanced_meta_init.rc

├── data

├── default.prop

├── dev

├── init

├── init.factory.rc

├── init.goldfish.rc

├── init.mt6516.rc

├── init.rc

├── meta_init.rc

├── proc

├── res -> /system/res

├── sbin

├── sys

└── system

OTA/bin$ tree

├── applypatch

├── applypatch_static

├── check_prereq

└── updater

META/filesystem_config.txt 并将其加入到 zip 包中。该文件保存了 system 目录下各目录、文件的权限及 owner.

$ head META/filesystem_config.txt

system 0 0 755

system/usr 0 0 755

system/usr/srec 0 0 755

system/usr/srec/config 0 0 755

system/usr/srec/config/en.us 0 0 755

system/usr/srec/config/en.us/grammars 0 0 755

system/usr/srec/config/en.us/grammars/phone_type_choice.g2g 0 0 644

system/usr/srec/config/en.us/grammars/VoiceDialer.g2g 0 0 644

system/usr/srec/config/en.us/grammars/boolean.g2g 0 0 644

system/usr/srec/config/en.us/g2p 0 0 755

编译脚本:

build/core/Makefile

1)update.zip名称与路径信息

name := $(TARGET_PRODUCT)

ifeq ($(TARGET_BUILD_TYPE),debug)

name := $(name)_debug

endif

name := $(name)-target_files-$(FILE_NAME_TAG)

intermediates := $(call intermediates-dir-for,PACKAGING,target_files)

BUILT_TARGET_FILES_PACKAGE := $(intermediates)/$(name).zip

2)OTA所需要的工具

built_ota_tools := \

$(call intermediates-dir-for,EXECUTABLES,applypatch)/applypatch \

$(call intermediates-dir-for,EXECUTABLES,applypatch_static)/applypatch_static \

$(call intermediates-dir-for,EXECUTABLES,check_prereq)/check_prereq \

$(call intermediates-dir-for,EXECUTABLES,sqlite3)/sqlite3 \

$(call intermediates-dir-for,EXECUTABLES,updater)/updater

3)包的组成部分

$(BUILT_TARGET_FILES_PACKAGE): \

$(INSTALLED_BOOTIMAGE_TARGET) \

$(INSTALLED_RADIOIMAGE_TARGET) \

$(INSTALLED_RECOVERYIMAGE_TARGET) \

$(INSTALLED_SYSTEMIMAGE) \

$(INSTALLED_USERDATAIMAGE_TARGET) \

$(INSTALLED_CACHEIMAGE_TARGET) \

$(INSTALLED_VENDORIMAGE_TARGET) \

$(INSTALLED_ANDROID_INFO_TXT_TARGET) \

$(SELINUX_FC) \

$(built_ota_tools) \

$(APKCERTS_FILE) \

$(HOST_OUT_EXECUTABLES)/fs_config \

| $(ACP)

完全升级OTA包的生成

1)OTA包的命名

# OTA update package

name := $(TARGET_PRODUCT)

ifeq ($(TARGET_BUILD_TYPE),debug)

name := $(name)_debug

endif

name := $(name)-ota

2)OTA包的生成路径

INTERNAL_OTA_PACKAGE_TARGET := $(PRODUCT_OUT)/$(name).zip

3)有update.zip包生成OTA包

ifneq ($(TARGET_USERIMAGES_USE_UBIFS),true)

$(hide) ./build/tools/releasetools/ota_from_target_files -v \

-n \跟时间戳没有关系,即前后版本可以互相升级

-p $(HOST_OUT) \路径

-k $(KEY_CERT_PAIR) \签名

$(BUILT_TARGET_FILES_PACKAGE) [email protected]

else

$(hide) ./build/tools/releasetools/ota_from_target_files -v \

-n \

-g \

-p $(HOST_OUT) \

-k $(KEY_CERT_PAIR) \

$(BUILT_TARGET_FILES_PACKAGE) [email protected]

Endif

4)通过伪目标启动生成OTA包

.PHONY: otapackage

otapackage: $(INTERNAL_OTA_PACKAGE_TARGET)

时间: 2024-12-29 07:46:45

完全升级OTA包的制作流程(上)的相关文章

关于Linux系统下基于Tomcat部署和升级war包的详细过程

1.首先Linux先安装java,Tomcat 中间件规范要求: 1)         软件必须下载到/services/download_soft_v        --------(用xftp上传到此目录) 2)         软件必须安装到/services/current_apps        --------------(将上传的java和tomcat 复制或者移动到此目录下) 操作步骤: 1)         利用xftp把软件包传到服务器上 2)         先上传至/ho

史上最全phpwind版本,从phpwind1.0到phpwind8所有版本和升级补丁包

phpwind提供开源论坛与移动社区APP建站系统,基于成熟稳定的领先技术与服务支持,实现社区产品从PC到手机的移动化延伸,数据融合互通,一站式交付,多终端覆盖,从社区互动到移动社交,用户体验自然过渡史上. 本文章最全phpwind版本,从phpwind1.0到phpwind8所有版本和升级补丁包下载 下载地址:http://www.51xyyx.com/3609.html 下载地址:http://www.51xyyx.com/3609.html 原文地址:https://www.cnblogs

RPM包的制作

RPM包的制作 前言 按照其软件包的格式来划分,常见的Linux发行版主要可以分为两类,类ReadHat系列和类Debian系列,这两类系统分别提供了自己的软件包管理系统和相应的工具. 类RedHat系统中软件包的后缀是rpm,提供了同名的rpm命令来安装.卸载.升级rpm软件包: 类Debian系统中软件包的后缀是deb,同样提供了dpkg命令来对后缀是deb rpm的全称是Redhat Package Manager,常见的使用rpm软件包的系统主要有Fedora.CentOS.openSU

3D动画制作流程

在游戏动画中,清楚每个环节的细节是很重要的,今天卡拉小编与大家分享的是3D动画制作流程.时代在进步,科技在创新,世界各领域已进入数字媒体信息化,数字3D动画逐渐成为科技行业发展中的中心支柱,近年来3D动画作为一项新兴产业不断地蓬勃兴起与飞速发展,新型3D动画也随之呈现出来. 3D动画所使用的领域也是越来愈多,如娱乐.教育以及军事等诸多领域.在影视广告制作方面,这项新技术能够给人耳目一新的感觉,因此受到了众多客户的欢迎.3D动画可以用于广告和电影电视剧的特效制作(如烟雾.下雨.光效等).特技(撞车

Cadence Allegro元件封装制作流程

(本文为转载,原文出处不详) 引言 一个元件封装的制作过程如下图所示.简单来说,首先用户需要制作自己的焊盘库Pads,包括普通焊盘形状Shape Symbol和花焊盘形状Flash Symbol:然后根据元件的引脚Pins选择合适的焊盘:接着选择合适的位置放置焊盘,再放置封装各层的外形(如Assembly_Top.Silkscreen_Top.Place_Bound_Top等),添加各层的标示符Labels,还可以设定元件的高度Height,从而最终完成一个元件封装的制作. 下面将分表贴分立元件

十、MDT 2013 Update 1批量部署-media(离线部署包)的制作及使用

MDT 2013 Update 1的高级特性里有个MEDIA包的制作,也就是离线部署包,不用网络就可以实现微软操作系统的部署,利用生成的ISO,刻盘.U盘.移动硬盘实现单机操作系统部署,这个功能以前没有使用过,为了完整这次的使用功能汇总,特意的去使用. 10.1 media(离线部署包)的制作 选择高级配置里的MEDIA功能,再选择一个对应的目录,本例中选用c:\usb 设置生成离线包的名称 也可以参数文件,由于本地用户与网络使用有些参数不完全一致(如本地部署不需要用户名.密码.登录域等),所以

如何升级SHAREPOINT场解决方案到2013上

原文地址:How to upgrade a custom application to SharePoint 2013 如何升级SHAREPOINT场解决方案到2013上 如果你把SharePoint2010场解决方案(WSP文件)安装到2013,很大程度上他都能好用.这个很可能是因为Microsoft 部署了所有用来支持SharePoint2010的文件到了14 hive.当你部署解决方案,如果Manifest.xml包含 'SharePointVersion="14.0",Shar

网站的制作流程

众所周知,一个网站的制作过程,是需要按步就班的,当然,小编在这里说的是纯定制型网站而不是套模版.那么,小编下面就简单说一下,一个定制型网站制作过程. 首先,既然是定制型的网站,也就是从设计到制作到开发,都是一步一步来的,无论是设计还是功能开发,都需要了解客户的需求是什么.那么第一要说的就是设计之初应该做些什么. 1.设计之初应该做些什么 既然是从设计开始,那么就需要知道客户的需求,例如,客户所在的公司什么类型的公司,企业集团类型?电子商务类型,还是政府机关学校类型或者是其他?然后还要看公司规模,

osgi应用使用桥接的方式打成war包部署在websphere上时遇到的与cxf相关的问题

原来我们的程序都是基于Equinox架构的,但是后面因为要实现打成war包在中间件中部署的需求,使用了eclipse官方提供的桥接方式实现. 桥接的部分后面有时间了我专门写一个文章来说,不明白的暂时请参考eclipse官方文档.这里主要说一下已经桥接成功,但是在使用CXF时遇到问题的情况. 本来在其他中间件里跑得好好的程序,一放到websphere_v8里,就各种报错,都是与axis2有关的,但是我们的项目并没有使用axis2,而是使用cxf. 报错类似如下(我有3个环境,每个报的错都不同,不过