1#!/bin/bash 2 3# locate some directories 4cd "$(dirname $0)" 5SCRIPT_DIR="${PWD}" 6cd ../.. 7TOP="${PWD}" 8 9message='The basic Android build process is: 10 11cd '"${TOP}"' 12source build/envsetup.sh # Add "lunch" (and other utilities and variables) 13 # to the shell environment. 14lunch [<product>-<variant>] # Choose the device to target. 15m [<goals>] # Execute the configured build. 16 17Usage of "m" imitates usage of the program "make". 18See '"${SCRIPT_DIR}"'/Usage.txt for more info about build usage and concepts. 19 20The parallelism of the build can be set with a -jN argument to "m". If you 21don'\''t provide a -j argument, the build system automatically selects a parallel 22task count that it thinks is optimal for your system. 23 24Common goals are: 25 26 clean (aka clobber) equivalent to rm -rf out/ 27 checkbuild Build every module defined in the source tree 28 droid Default target 29 sync Build everything in the default target except the images, 30 for use with adb sync. 31 nothing Do not build anything, just parse and validate the build structure 32 33 java Build all the java code in the source tree 34 native Build all the native code in the source tree 35 36 host Build all the host code (not to be run on a device) in the source tree 37 target Build all the target code (to be run on the device) in the source tree 38 39 (java|native)-(host|target) 40 (host|target)-(java|native) 41 Build the intersection of the two given arguments 42 43 snod Quickly rebuild the system image from built packages 44 Stands for "System, NO Dependencies" 45 vnod Quickly rebuild the vendor image from built packages 46 Stands for "Vendor, NO Dependencies" 47 pnod Quickly rebuild the product image from built packages 48 Stands for "Product, NO Dependencies" 49 senod Quickly rebuild the system_ext image from built packages 50 Stands for "SystemExt, NO Dependencies" 51 onod Quickly rebuild the odm image from built packages 52 Stands for "Odm, NO Dependencies" 53 vdnod Quickly rebuild the vendor_dlkm image from built packages 54 Stands for "VendorDlkm, NO Dependencies" 55 odnod Quickly rebuild the odm_dlkm image from built packages 56 Stands for "OdmDlkm, NO Dependencies" 57 sdnod Quickly rebuild the system_dlkm image from built packages 58 Stands for "SystemDlkm, NO Dependencies" 59 60 61So, for example, you could run: 62 63cd '"${TOP}"' 64source build/envsetup.sh 65lunch aosp_arm-userdebug 66m -j java 67 68to build all of the java code for the userdebug variant of the aosp_arm device. 69' 70 71echo "$message" 72