Debug
1
2
import java.lang.Thread
Thread . dumpStack ();
1
2
3
#include <utils/CallStack.h>
CallStack stack ;
stack . dump ( "[log prefix]" );
Find keycode in frameworks/base/core/java/android/view/KeyEvent.java
1
2
3
4
$adb shell input keyevent [ key code]
$adb shell input keyevent 27 # camera
$adb shell input keyevent 82 # unlock screen
$adb shell input text "ANDROID" # input string
Optimization
Step1: Installing the bootchart tool
Download bootchart
1
2
3
$tar xjf bootchart-0.9.tar.bz2
$cd bootchart-0.9
$sudo ./install.sh
Step2: Compile init with bootchart enabled and flash images
1
2
3
$touch [ mydroid] /system/core/init/init.c
$export INIT_BOOTCHART = true
$m init ramdisk bootimage
Step3: Trigger bootchart
1
2
$adb shell 'echo 20 > /data/bootchart-start'
$adb shell mkdir /data/bootchart
Step4: Get bootchart.tgz
1
$/ system/core/init/grab-bootchart.sh
Step5: Generate bootchart image
1
$java -jar [ path to bootchart] /bootchart-0.9/bootchart.jar bootchart.tgz
Display
set display timeout and stay awake
1
2
3
4
5
6
7
8
9
10
$adb shell
#sqlite3 /data/data/com.android.providers.settings/databases/settings.db
#.databases
#.tables
#.dump
#select * from <table>;
#delete from <table> where <condition>;
#update system set value="1800000" where name="screen_off_timeout";
#update system set value="3" where name="stay_on_while_plugged_in";
#.exit
Code Snippet
system/core/init/property_service.c
Device ID
1
2
$adb shell cat /sys/class/android_usb/android0/iSerial
$adb shell getprop ro.serialno
out/target/product/[target name]/recovery/root/init.rc
1
write / sys / class / android_usb / android0 / iSerial $ { ro . serialno }
system/core/init/init.c
1
property_set ( "ro.serialno" )
Others
Open Browser with url
1
$adb shell am start [ url]
Start Java App
1
$adb shell am start -n [ com.package.name] /[ com.package.name.ActivityName]
Playback Video
1
$adb shell am start -a android.intent.action.VIEW -d ////[ path to video] /[ video file name] -t video/* -n com.android.gallery3d/.app.MovieActivity