WEB开发网
开发学院手机开发Android 开发 kill掉android应用的bat 阅读

kill掉android应用的bat

 2010-05-31 14:10:00 来源:WEB开发网   
核心提示:在http://blog.csdn.net/chief1985/archive/2010/05/03/5553022.aspx文章里面,我介绍了可以通过adb am start来启动android应用,kill掉android应用的bat,但android里面并没有提供命令来结束应用,android采用的linux内核

在http://blog.csdn.net/chief1985/archive/2010/05/03/5553022.aspx文章里面,我介绍了可以通过adb am start来启动android应用,但android里面并没有提供命令来结束应用。android采用的linux内核,因此可以用kill命令来结束进程,但kill命令只支持用进程pid来干掉进程,因此我写了一个bat来便于结束android应用。

view plaincopy to clipboardprint?

@echo off

setlocal

for /f "tokens=1,2,3,4,5,6,7,8,9" %%i in ('adb.exe shell ps app') do (

set str=%%q

setlocal enabledelayedexpansion

set appName=!str:~0,-1!

REM echo !appName!

if "!appName!"=="%1" (

@echo begin to kill !appName!,pid:%%j

call adb.exe shell kill -9 %%j

)

)

endlocal

@echo off

setlocal

for /f "tokens=1,2,3,4,5,6,7,8,9" %%i in ('adb.exe shell ps app') do (

set str=%%q

setlocal enabledelayedexpansion

set appName=!str:~0,-1!

REM echo !appName!

if "!appName!"=="%1" (

@echo begin to kill !appName!,pid:%%j

call adb.exe shell kill -9 %%j

)

)

endlocal

你将上面的脚本保存为adbKill.bat,以后要干掉应用,执行adbKill 应用名就可以了,例如adbKill com.android.email。

稍微解释一下上面的bat脚本:

1.用adb.exe shell ps app而不用adb.exe shell ps是因为我只需要kill掉android应用,所有我用app来过滤到一些进程。

2. set appName=!str:~0,-1!是因为adb.exe shell ps输出的没一行后面都有一个0x0d字符,所以需要将这个字符去掉。set appName=!str:~0,-1!的意思是bat里面取子字符串的语句,用!符号而不是%符号是因为for循环里面如果不开启 delayedexpansion执行set是无效的。

Tags:kill android 应用

编辑录入:coldstar [复制链接] [打 印]
赞助商链接