No description
Find a file
Kelvin Zhang 197772f069 Add a tool to merge two partial OTAs
Some partners have large number of products that share common
images. Generating OTAs for all these products waste a lot of CPU
cycles, because we waste time diffing the same images multiple times.
To mitigate this, add a tool for merging partial OTAs. Partners can
generate a partial OTA for common images, and re-use the generated OTA
by merging with each product specific OTA.

Bug: 227848550
Test: Run merge_otas.py on 4 OTAs, install the generated OTA

Change-Id: Ie38d522cdc9b89b1123b3d8190516c3648f99788
2022-09-07 20:35:46 +00:00
common Fix BOARD_SYSTEMSDK_VERSIONS checks 2021-11-10 00:34:17 +00:00
core Revert "Revert "[make] Add memtag-stack sanitizer, switch to linker-generated notes."" 2022-08-31 15:27:07 -07:00
packaging Fix creating _dist_<goal> targets under !dist 2018-10-21 08:56:27 -07:00
target Make com.android.sepolicy mandatory 2022-09-01 09:11:37 +00:00
tests Add function for flattening 2d lists 2022-05-05 11:41:59 -07:00
tools Add a tool to merge two partial OTAs 2022-09-07 20:35:46 +00:00
.gitignore ignore .iml files (IntelliJ) 2022-06-17 12:17:53 -04:00
banchanHelp.sh Allow selecting a different product in banchan. 2021-04-19 18:32:00 +01:00
buildspec.mk.default Add TARGET_PLATFORM_VERSION to lunch 2017-03-23 09:44:08 -07:00
Changes.md Default BuildBrokenClangProperty to empty (false) 2022-08-26 20:05:42 +00:00
CleanSpec.mk Make SOONG_HOST_OUT an alias for HOST_OUT 2021-11-18 16:26:58 -08:00
Deprecation.md Obsolete unused module types 2020-04-18 21:00:18 -07:00
envsetup.sh Merge "Add b autocomplete to envsetup" 2022-09-01 14:41:20 +00:00
finalize_branch_for_release.sh Let finalize_branch_for_release.sh create ABI dumps 2022-07-19 15:44:36 +08:00
help.sh core & tools: system_dlkm: add dynamic partition 2022-01-30 08:43:08 +00:00
METADATA Move comment to license_note 2022-03-03 14:57:46 -08:00
navbar.md Mark envsetup.sh vars as deprecated in makefiles 2017-11-28 14:19:50 -08:00
OWNERS sdk finalization script OWNERS smoreland@ 2022-04-22 22:08:34 +00:00
PREUPLOAD.cfg Disallow use of error-prone merge-strategies 2021-02-23 15:07:02 +00:00
rbesetup.sh Update rbesetup.sh script to no longer set certain env variables 2022-05-27 11:31:45 -04:00
README.md Mark envsetup.sh vars as deprecated in makefiles 2017-11-28 14:19:50 -08:00
tapasHelp.sh Add a keys argument to tapas 2022-02-07 18:50:22 +00:00
Usage.txt Remove the PRODUCT-* goal 2019-07-29 14:27:04 -07:00

Android Make Build System

This is the Makefile-based portion of the Android Build System.

For documentation on how to run a build, see Usage.txt

For a list of behavioral changes useful for Android.mk writers see Changes.md

For an outdated reference on Android.mk files, see build-system.html. Our Android.mk files look similar, but are entirely different from the Android.mk files used by the NDK build system. When searching for documentation elsewhere, ensure that it is for the platform build system -- most are not.

This Makefile-based system is in the process of being replaced with Soong, a new build system written in Go. During the transition, all of these makefiles are read by Kati, and generate a ninja file instead of being executed directly. That's combined with a ninja file read by Soong so that the build graph of the two systems can be combined and run as one.