2017-05-31 08:12:37 +08:00
|
|
|
#!/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".
|
2017-11-09 08:39:18 +08:00
|
|
|
See '"${SCRIPT_DIR}"'/Usage.txt for more info about build usage and concepts.
|
2017-05-31 08:12:37 +08:00
|
|
|
|
|
|
|
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"
|
|
|
|
|
|
|
|
|
|
|
|
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"
|