Process analysis for Android make Otapackage, based on 4.0.4_r2-1
Code Files directory: Aosp/build/core/makefile
. Phony:otapackageotapackage: $ (internal_ota_package_target)
Internal_ota_package_target: = $ (product_out)/$ (name). zip$ (Internal_ota_package_target): Key_cert_pair: = $ (DEFAULT _key_cert_pair) $ (internal_ota_package_target): $ (built_target_files_package) $ (otatools) @echo "package OTA: [Email Protected] "$ (hide)./build/tools/releasetools/ota_from_target_files-v-P $ (host_out)-K $ ( Key_cert_pair) \ $ (built_target_files_package) [email protected]
1 lines: Is the target we need to generate, $ (product_out)/$ (name). zip. Contains the path $ (product_out) and the file name $ (name). zip
$ (product_out)
# depending on the various images guarantees that the underlying# directories are up-to-date.$ (built_target_files_package): $ (Installed_bootimage_target) $ (INSTALLED_ Radioimage_target) $ (Installed_recoveryimage_target) $ (installed_systemimage) $ (Installed_userdataimage_target) $ (INSTALLED_ANDROID_ Info_txt_target)    &Nbsp; $ (Built_ota_tools) $ (APKCERTS_ FILE) $ ( Host_out_executables)/fs_config | $ (ACP) @echo "package Target files: [email protected] " $ (hide) rm -rf [email protected] $ (zip_root) $ (hide) mkdir -p $ (dir [email protected]) $ (zip_root) @# Components of the recovery image $ (Hide) mkdir -p $ (zip_root)/recovery $ (hide) $ ( call package_files-copy-root, $ (Target_recovery_root_out), $ (zip_root)/recovery/ramdisk) ifdef INSTALLED_ kernel_target $ (hide) $ (ACP) $ (INSTALLED_KERNEL_ TARGET) $ (zip_root)/recovery/kernelendififdef installed_2ndbootloader_target $ (hide) $ (ACP) $ (Installed_2ndbootloader_target) $ (zip_root)/RECOVERY/ secondendififdef board_kernel_cmdline $ (hide) echo "$ (board_kernel_cmdline)" > $ (zip_root)/recovery/cmdlineendififdef board_kernel_base $ (hide) echo "$ (board_kernel_base)" > $ (zip_root)/recovery/baseendififdef board_kernel_pagesize $ (hide) echo "$ (board_kernel_ PAGESIZE) " > $ (zip_root)/recovery/pagesizeendif @# components of the boot image $ (Hide) mkdir -p $ (zip_root)/boot $ (hide) $ (call package_files-copy-root, $ (Target_root_out), $ (zip_root)/boot/ramdisk) ifdef installed_kernel_target $ (hide) $ (ACP) $ (installed_kernel_target) $ (zip_root) /boot/kernelendififdef installed_2ndbootloader_target $ ( Hide) $ (ACP)  &Nbsp; $ (INSTALLED_ 2ndbootloader_target) $ (zip_root)/boot/secondendififdef board_kernel_cmdline $ (hide) echo "$ (board_kernel_cmdline)" > $ (zip_root)/boot/ cmdlineendififdef board_kernel_base $ (hide) echo "$ (board_kernel_base)" > $ (zip_root)/boot/baseendififdef board_kernel_pagesize $ (hide) echo "$ (board_kernel_pagesize)" > $ ( Zip_root)/boot/pagesizeendif $ (hide) $ (foreach t,$ ( Installed_radioimage_target), mkdir -p $ (zip_root)/radio; $ (ACP) $ (t) $ (zip_root)/RADIO/$ ( notdir $ (t));) @# Contents of the system image $ (hide) $ (call package_ files-copy-root, $ (Systemimage_source_dir), $ (zip_root)/system) @# contents of the data image $ (Hide) $ (call package_files-copy-root, $ (Target_out_data), $ (zip_root)/data) @# Extra contents of the OTA package $ (hide) mkdir -p $ (zip_root)/ota/bin $ (hide) $ (ACP) $ (INSTALLED_ Android_info_txt_target) $ (zip_root)/ota/ $ (hide) $ ( ACP) $ (private_ota_tools) $ (zip_root)/ota/bin/ @# Files that do not end up in any images, but are necessary to @# build them. $ (hide) mkdir -p $ (zip_root)/meta $ (hide) $ (ACP) $ (apkcerts_file) $ (zip_root)/meta/apkcerts.txt $ (hide) echo "$ (Product_ota_public_keys)" > $ (Zip_ Root)/meta/otakeys.txt $ (hide) echo "Recovery_api_ version=$ (Private_recovery_api_version) " > $ (zip_root)/meta/misc_info.txtifdef board_flash_block_size $ (hide) echo "blocksize=$ (board_flash_block_size)" >> $ (zip_root)/meta/misc_info.txtendififdef board_bootimage_partition_size $ (hide) echo "boot_size=$ (board_bootimage_partition_size)" >> $ ( Zip_root)/meta/misc_info.txtendififdef board_recoveryimage_partition_size $ (hide) echo "recovery_size=$ (board_recoveryimage_partition_size)" >> $ (zip_root)/meta/misc_info.txtendififdef board_systemimage_partition_size $ (hide) echo "system_size=$ (board_systemimage_partition_size)" >> $ (zip_root)/meta/misc_info.txtendififdef board_userdataimage_partition_size $ (HIDE) echo "userdata_size=$ (board_userdataimage_partition_size)" >> $ (zip_root)/META/ misc_info.txtendif $ (hide) echo "tool_extensions=$ ( tool_extensions) " >> $ (zip_root)/meta/misc_info.txtifdef mkyaffs2_extra_flags $ (hide) echo "mkyaffs2_extra_flags=$ (mkyaffs2_extra_flags)" >> $ (zip_root)/meta/misc_info.txtendififdef internal_userimages_sparse_ext_flag $ (hide) echo "extfs_sparse_flag=$ (Internal_userimages_ Sparse_ext_flag) " >> $ (zip_root)/meta/misc_info.txtendif $ (hide) echo "default_system_dev_certificate=$ (default_system_dev_certificate)" >> $ (zip_root)/meta/misc_info.txtifdef product_extra_recovery_keys $ (hide) echo "extra_recovery_keys=$ (Product_extra_recovery_keys)" >> $ (zip_root)/META/misc_ info.txtendif @# zip everything up, preserving symlinks $ (hide) (cd $ (Zip_root)  && ZIP -QRY&NBSP, .... /$ (notdir [email protected]) .) @# Run fs_config on all the System, boot ramdisk, and recovery ramdisk files in the zip, and save the output $ (hide) zipinfo -1 [email protected] | awk ' begin { fs= ' system/" } /^system \// {print "system/" $$2} ' | $ (host_out_executables)/fs_config > $ (zip_ Root)/meta/filesystem_config.txt $ (hide) zipinfo -1 [email protected] | awk ' BEGIN { fs= "boot/ramdisk/" } /^boot\/ramdisk\// {print $$2} ' | $ (HOST_OUT_ Executables)/fs_config > $ (zip_root)/meta/boot_filesystem_config.txt $ (hide) zipinfo -1 [email protected] | awk ' BEGIN { fs= "recovery/ramdisk/" } /^recovery\/ramdisk\// {print $$2} ' | $ ( Host_out_executables)/fs_config > $ (zip_root)/meta/recovery_filesystem_config.txt $ (hide) (cd $ (Zip_root) && zip -q .. /$ (notdir [email protected]) meta/*filesystem_config.txt)
This article is from the "Android" blog, so be sure to keep this source http://rosemary.blog.51cto.com/9548014/1771546
Android Build-Make otapackage (Overall)