標籤:
reference to : http://blog.csdn.net/wangkaiblog/article/details/46050587
本來以為存放在/systen/bin/下的monkey、input、am等adb shell命令都是二進位可執行程,偶爾cat input下,發現不是二進位檔案,內容如下:
# Script to start "input" on the device, which has a very rudimentary# shell.#base=/systemexport CLASSPATH=$base/framework/input.jarexec app_process $base/bin com.android.commands.input.Input $*
這段指令碼的作用就是通過app_process工具啟動放在/system/farmework/下的input.jar 檔案。我查看了下framework檔案夾裡面的確有input.jar檔案。
What is this app_process
Although not that popular “app_process” command is used heavily in Android, for example the well know “am” script is using it. Everybody knows how to start an application from adb shell:
am start -n yourpackagename/.activityname
However “am” is just a shell script and what stays in the base of the am script is our app_process binary:
[email protected]:/ # cat /system/bin/amcat /system/bin/am# Script to start "am" on the device, which has a very rudimentary# shell.base=/systemexport CLASSPATH=$base/framework/am.jarexec app_process $base/bin com.android.commands.am.Am "[email protected]"[email protected]:/ #
So app_process is the binary used to start java code. All the apps, instrumentations or installations are tarted using this.
Lets see the official usage output:
[email protected]:/ # app_processUsage: app_process [java-options] cmd-dir start-class-name [options]Not quite complete as usual :)
[Android Pro] app_process command in Android