This CL is largely an adaptation of Change-Id I5d229f6ac729ea6df9ff1f14cee2e28972cd9b4d tools/vendor_buildinfo.sh is also renamed to tools/device_buildinfo.sh. The caller then can invoke device_buildinfo.sh "vendor" | "odm" to generate properties for vendor.img and odm.img, respectively. It adds the following variables: - BOARD_AVB_ODM_KEY_PATH - BOARD_AVB_ODM_ALGORITHM - BOARD_AVB_ODM_ROLLBACK_INDEX_LOCATION - BOARD_ODMIMAGE_FILE_SYSTEM_TYPE - BOARD_ODMIMAGE_EXTFS_INODE_COUNT - BOARD_ODMIMAGE_EXTFS_RSV_PCT - BOARD_ODMIMAGE_PARTITION_SIZE - BOARD_ODMIMAGE_JOURNAL_SIZE - BOARD_ODMIMAGE_SQUASHFS_BLOCK_SIZE - BOARD_ODMIMAGE_SQUASHFS_COMPRESSOR - BOARD_ODMIMAGE_SQUASHFS_COMPRESSOR_OPT - BOARD_ODMIMAGE_SQUASHFS_DISABLE_4K_ALIGN - BOARD_PREBUILT_ODMIMAGE - BOARD_USES_ODMIMAGE - LOCAL_ODM_MODULE - PRODUCT_ODM_BASE_FS_PATH - PRODUCT_ODM_VERITY_PARTITION - PRODUCT_ODM_PROPERTIES - TARGET_COPY_OUT_ODM - TARGET_OUT_ODM - TARGET_OUT_ODM_* Bug: 64195575 Test: boot a Taimen with existing images Test: `make odmimage` with - BOARD_AVB_ENABLE := true - BOARD_ODMIMAGE_PARTITION_SIZE := 62914560 - BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := ext4 - TARGET_COPY_OUT_ODM := odm - PRODUCT_ODM_PROPERTIES += odm.test.build=success Test: `make odmimage` with - BOARD_ODMIMAGE_PARTITION_RESERVED_SIZE := 10485760 - BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := ext4 - BOARD_AVB_ENABLE := true - TARGET_COPY_OUT_ODM := odm - PRODUCT_ODM_PROPERTIES += odm.test.build=success - PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true Change-Id: I4dea7b567ec49a766c7a4683decaf81c7e921d55
60 lines
2.2 KiB
Bash
Executable File
60 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# locate some directories
|
|
cd "$(dirname $0)"
|
|
SCRIPT_DIR="${PWD}"
|
|
cd ../..
|
|
TOP="${PWD}"
|
|
|
|
message='The basic Android build process is:
|
|
|
|
cd '"${TOP}"'
|
|
source build/envsetup.sh # Add "lunch" (and other utilities and variables)
|
|
# to the shell environment.
|
|
lunch [<product>-<variant>] # Choose the device to target.
|
|
m -j [<goals>] # Execute the configured build.
|
|
|
|
Usage of "m" imitates usage of the program "make".
|
|
See '"${SCRIPT_DIR}"'/Usage.txt for more info about build usage and concepts.
|
|
|
|
Common goals are:
|
|
|
|
clean (aka clobber) equivalent to rm -rf out/
|
|
checkbuild Build every module defined in the source tree
|
|
droid Default target
|
|
nothing Do not build anything, just parse and validate the build structure
|
|
|
|
java Build all the java code in the source tree
|
|
native Build all the native code in the source tree
|
|
|
|
host Build all the host code (not to be run on a device) in the source tree
|
|
target Build all the target code (to be run on the device) in the source tree
|
|
|
|
(java|native)-(host|target)
|
|
(host|target)-(java|native)
|
|
Build the intersection of the two given arguments
|
|
|
|
snod Quickly rebuild the system image from built packages
|
|
Stands for "System, NO Dependencies"
|
|
vnod Quickly rebuild the vendor image from built packages
|
|
Stands for "Vendor, NO Dependencies"
|
|
pnod Quickly rebuild the product image from built packages
|
|
Stands for "Product, NO Dependencies"
|
|
psnod Quickly rebuild the product-services image from built packages
|
|
Stands for "ProductServices, NO Dependencies"
|
|
onod Quickly rebuild the odm image from built packages
|
|
Stands for "ODM, NO Dependencies"
|
|
|
|
|
|
So, for example, you could run:
|
|
|
|
cd '"${TOP}"'
|
|
source build/envsetup.sh
|
|
lunch aosp_arm-userdebug
|
|
m -j java
|
|
|
|
to build all of the java code for the userdebug variant of the aosp_arm device.
|
|
'
|
|
|
|
echo "$message"
|