0. Signature
Java-xmx2048m-jar out/host/linux-x86/framework/signapk.jar-w BUILD/TARGET/PRODUCT/SECURITY/TESTKEY.X509.PEM Build /target/product/security/testkey.pk8
This key is the auto-generated key in debug mode.
You can also create your own private key via OpenSSL.
The OTA package will automatically sign with the generated key, and the location of the OTA upgrade package is as follows
│[ota Package]
│└─meta-inf
│cert. Rsa
│cert. SF
│manifest. Mf
│└─com
│---└─android
│------Otacert
1. Make an OTA upgrade package using the Android Packaging command
Complete the project before executing make Otapackage
The resulting full upgrade package will be stored under Out\debug\target\product\[project name]\
The exact name is based on the install of make otapackage.
The resulting process file package is in the out/target/product/ardbeg/obj/packaging/target_files_intermediates/directory, which can be used to create a differential upgrade package
Modification of 2.OTA Packages
1) Update-script
OTA package decompression After the Meta-inf\com\google\android directory has two files
Update-binary is a binary file that is equivalent to a script interpreter that recognizes the operations described in Updater-script. This file is generated after the Android source code is compiled Out/target/product/tcc8800/system bin/updater, you can rename the updater to update-binary.
The name of the file in the specific update package is determined by the value of the macro assumed_update_binary_name in bootable/recovery/install.c in the source code.
Updater-script: This file is a script file that describes the update process. We can write this script to suit our specific needs. The name of the file is determined by the value of the macro script_name in the Bootable/recovery/updater/updater.c file in the source code.
Upgrade the progress bar, upgrade which files are specified in this script. If you need to modify a packaged file, this typically modifies the script or the resource file in the replacement package as the main
About this online description of more, no longer stated, can refer to
12 |
[实用教程]_关于ROM的updater-script脚本详解 http: //wenku.baidu.com/link?url=PBCuu50VRxDzx_1wb5JfyZH-oURgYhMTyDVq5SGKsPZqfP3wW6DbegiFqszYJVzP3037osTX-aEFmsAx5nnMH6CYcJOuDAXo1jm0BfROmi3 |
2) Recovery Code
[Src path]\bootable\recovery
where BOOTABLE\RECOVERY\UPDATER\INSTALL.C
The child functions registered in the function can be called directly in the Update-script script.
Some embedded products, bootloader, boot screen and other partitions of the burning write read are their own definition, need to update this partition needs in the registration function, the addition of private functions
3) Modify the resulting upgrade package
Unzip the Update.zip and modify the Update-script script and resource files according to the above rules
RePack, remember to pack in storage mode, and never choose any way to compress content. Otherwise the signature will fail
Then refer to the No. 0 manual signature new package file Brush machine can be
3.OTA Differential Upgrade Package
Make Otapackage the new and old two packs respectively.
The package file used to make the differential package is in the following directory
Out/target/product/[produce name]/obj/packaging/target_files_intermediates/
Due to the need to brush to the old version before the use of differential packets, it is necessary to do version management of the intermediate files and the entire package are saved, respectively, in the following path (need to generate a matching version)
Out/target/product/[produce name]/obj/packaging/target_files_intermediates/
Out/target/product/[produce name]/
Generate a differential packet with the new and old obj directory counterpart file
123456 |
mkdir OTA/ cp xxxx_obj.zip OTA/old_obj.zip cp yyyy_obj.zip OTA/new_obj.zip //网上建议在源代码根目录运行生成工具,据说是里面使用了根目录相对路径 ./build/tools/releasetools/ota_from_target_files -v -n -i OTA/old_obj.zip OTA/new_obj.zip OTA/diff.zip |
This generates a differential packet that can be upgraded with this differential package in the version of the old product.
123 |
差分包制作过程中的错误 http: //blog.csdn.net/kangear/article/details/23831431 |
Android OTA upgrade package maker