forked from openkylin/platform_build
envsetup.sh: Add 'provision' function.
This will run ${ANDROID_PRODUCT_OUT}/provision-device which in turn can run fastboot (and other vendor-specific bits, if needed) to repartition the device and reflash all partitions with known versions. Options passed to the 'provision' command will be passed on to said script which is expected to pass them on to fastboot. Since this is a rather destructive operation involving data loss etc., user confirmation is required. This confirmation can be bypassed using the option --no-confirmation. Change-Id: Iec5667f2f5070b95d2eb70ad1b2984909ae4184c
This commit is contained in:
parent
06ba28c31e
commit
1b126ffedc
29
envsetup.sh
29
envsetup.sh
|
@ -10,6 +10,7 @@ Invoke ". build/envsetup.sh" from your shell to add the following functions to y
|
|||
To limit the modules being built use the syntax: mmm dir/:target1,target2.
|
||||
- mma: Builds all of the modules in the current directory, and their dependencies.
|
||||
- mmma: Builds all of the modules in the supplied directories, and their dependencies.
|
||||
- provision: Flash device with all required partitions. Options will be passed on to fastboot.
|
||||
- cgrep: Greps on all local C/C++ files.
|
||||
- ggrep: Greps on all local Gradle files.
|
||||
- jgrep: Greps on all local Java files.
|
||||
|
@ -1470,6 +1471,34 @@ function make()
|
|||
return $ret
|
||||
}
|
||||
|
||||
function provision()
|
||||
{
|
||||
if [ ! "$ANDROID_PRODUCT_OUT" ]; then
|
||||
echo "Couldn't locate output files. Try running 'lunch' first." >&2
|
||||
return 1
|
||||
fi
|
||||
if [ ! -e "$ANDROID_PRODUCT_OUT/provision-device" ]; then
|
||||
echo "There is no provisioning script for the device." >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Check if user really wants to do this.
|
||||
if [ "$1" = "--no-confirmation" ]; then
|
||||
shift 1
|
||||
else
|
||||
echo "This action will reflash your device."
|
||||
echo ""
|
||||
echo "ALL DATA ON THE DEVICE WILL BE IRREVOCABLY ERASED."
|
||||
echo ""
|
||||
read -p "Are you sure you want to do this (yes/no)? "
|
||||
if [[ "${REPLY}" != "yes" ]] ; then
|
||||
echo "Not taking any action. Exiting." >&2
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
"$ANDROID_PRODUCT_OUT/provision-device" "$@"
|
||||
}
|
||||
|
||||
if [ "x$SHELL" != "x/bin/bash" ]; then
|
||||
case `ps -o command -p $$` in
|
||||
*bash*)
|
||||
|
|
Loading…
Reference in New Issue