Bash程序  |  36行  |  954 B

#!/system/bin/sh

# Do not allow bugreports on user builds unless USB debugging
# is enabled.
if [ "x$(getprop ro.build.type)" = "xuser" -a \
     "x$(getprop init.svc.adbd)" != "xrunning" ]; then
  exit 0
fi

timestamp=`date +'%Y-%m-%d-%H-%M-%S'`
storagePath="$EXTERNAL_STORAGE/bugreports"
bugreport=$storagePath/bugreport-$timestamp
screenshotPath="$EXTERNAL_STORAGE/Pictures/Screenshots"
screenshot=$screenshotPath/Screenshot_$timestamp.png

# check screen shot folder
if [ ! -e $screenshotPath ]; then
  mkdir $screenshotPath
fi

# take screen shot
# we run this as a bg job in case screencap is stuck
/system/bin/screencap -p $screenshot &

# run bugreport
/system/bin/dumpstate -o $bugreport $@


# make files readable
chown root.sdcard_rw $bugreport.txt
chown root.sdcard_rw $screenshot

# invoke send_bug to look up email accounts and fire intents
# make it convenient to send bugreport to oneself
/system/bin/send_bug $bugreport.txt $screenshot