| #!/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" |