我正在尝试编写脚本以启动应用程序并检查logcat中的字符串。一旦找到字符串。我想退出logcat并终止该应用程序
if adb shell monkey -p com.app.dev -c android.intent.category.LAUNCHER 1 | adb logcat | grep --line-buffered 'match_text'
then
adb shell am force-stop com.app.dev
fi
我的脚本类似于上面。但是,当我在logcat中找到匹配的行之后,然后中的代码就永远不会执行,因为logcat接管了bash命令过程。
答案 0 :(得分:0)
您应该执行类似的操作
mkfifo temp
# start you app here, I would use am
adb shell monkey -p com.app.dev -c android.intent.category.LAUNCHER 1
adb logcat > temp &
pid=$!
if grep -qm1 --line-buffered 'match_text' < temp
then
kill $pid
rm temp
adb shell am force-stop com.app.dev
fi