| #!/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 [<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. | |
| The parallelism of the build can be set with a -jN argument to "m". If you | |
| don'\''t provide a -j argument, the build system automatically selects a parallel | |
| task count that it thinks is optimal for your system. | |
| Common goals are: | |
| clean (aka clobber) equivalent to rm -rf out/ | |
| checkbuild Build every module defined in the source tree | |
| droid Default target | |
| sync Build everything in the default target except the images, | |
| for use with adb sync. | |
| 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" | |
| senod Quickly rebuild the system_ext image from built packages | |
| Stands for "SystemExt, NO Dependencies" | |
| onod Quickly rebuild the odm image from built packages | |
| Stands for "Odm, NO Dependencies" | |
| vdnod Quickly rebuild the vendor_dlkm image from built packages | |
| Stands for "VendorDlkm, NO Dependencies" | |
| odnod Quickly rebuild the odm_dlkm image from built packages | |
| Stands for "OdmDlkm, NO Dependencies" | |
| sdnod Quickly rebuild the system_dlkm image from built packages | |
| Stands for "SystemDlkm, 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" |