首先,我的固定思维认为system层中的命令大部分是用C语言写的。
所以一直以为input命令也是C语言写的,但是找了很多地方都找不到对应其源代码。
最后在framework开发人员帮助下找到,特此记录一下:
1 首先找到input 命令的位置:
system//bin/input
2 查看input的内容如下:
cat .system//bin/input
# Script to start "input" on the device, which has a very rudimentary
# shell.
#
base=/system
export CLASSPATH=$base/framework/input.jar
exec app_process $base/bin com.android.commands.input.Input $*
发现这句是重点: exec app_process $base/bin com.android.commands.input.Input
3 在framework 查找文件:
find ./ -iname input
4 最后发现下面文件是input命令的源码实现:
/frameworks/base/cmds/input/src/com/android/commands/input/Input.java