如何通过ADB获取应用PID并赋值给CMD环境变量?
解决CMD变量未正确获取Android应用PID的问题
直接赋值(推荐)
不需要通过文件中转,用for /f直接捕获adb shell pidof的输出并赋值给变量:
for /f "delims=" %%a in ('adb shell pidof [android_pkg]') do set "ISAPPON=%%a"
执行完后输入echo %ISAPPON%就能看到目标应用的PID。
delims=确保PID(哪怕有多个)被完整捕获,不会被空格拆分- 把
[android_pkg]替换成实际的应用包名,比如com.android.settings
文件中转赋值(如果必须用文件)
如果已经用adb shell pidof [android_pkg] > ISAPPON(用>覆盖文件,避免旧内容干扰)将PID写入文件,执行以下命令读取内容到变量:
set /p ISAPPON=<ISAPPON
再用echo %ISAPPON%即可输出PID。
注意事项
- 不要用
>>追加写入文件,否则变量可能读取到多行无效内容 - 若应用未运行,
pidof会返回空,此时变量会保留之前的值,建议提前清空:set ISAPPON= - 确保
adb命令能正常执行,可先单独运行adb shell pidof [android_pkg]验证是否返回PID
内容的提问来源于stack exchange,提问作者Trisiegt
相关产品推荐
相关产品推荐

