Android shell脚本自动启动app,关闭app,遇到crash自动停止
一、背景
当应用发现app在启动的时候会出现问题,但是需要手动测试很多次才可以复现的问题,可以考虑写一个自动化测试脚本。
二、Android启动和关闭app命令
1、启动应用需要知道应用的包名和main activity类名
adb shell am start 包名/activity类名
2、关闭应用
adb shell am force-stop 包名
三、在shell中获取adb命令执行后的结果
可以通过如下方式将adb命令的结果赋值给变量
pid=`adb shell pidof 包名`
四、运行app和关闭app的代码
当检测到应用crash会自动停止运行
for((i = 1; i <= 1000; i++ ));
do # 启动应用adb shell am start 包名/activity类名echo "Run the app ${i} time." # 判断应用是否启动,如果未启动等待5秒后重新启动for((j = 1; j <= 1000; j++ )); do pid=`adb shell pidof 包名`if [ ! -n "$pid" ]; then # 重试10次重新启动if [ $j -gt 10 ];thenadb shell am start 包名/activity类名fi sleep 0.5selse breakfidone# 等待5秒启动activitysleep 5s# 根据进程是否存在判断是否crashpid=`adb shell pidof 包名`if [ ! -n "$pid" ]; then echo "start crash"breakelse echo "start res: ${pid}"fi# 关闭应用adb shell am force-stop 包名sleep 1s
done
Android shell脚本自动启动app,关闭app,遇到crash自动停止相关推荐
- android开机自动启动app,Android实现开机自动启动Service或app的方法
本文实例讲述了Android实现开机自动启动Service或app的方法.分享给大家供大家参考,具体如下: 第一步:首先创建一个广播接收者,重构其抽象方法 onReceive(Context cont ...
- Android shell 脚本
Android shell 脚本编写 一般在Ubuntu上,我们需要运行某个脚本,则直接 $sh test.sh 先编写一个简单的循环数数的脚本,push到Android机器下同样用sh来执行. 脚本 ...
- linux执行shell过程日志,Android之在linux终端执行shell脚本直接打印当前运行app的日志...
1.问题 我们一般很多时候会需要在ubuntu终端上打印当前运行app的日志,我们一般常见的做法是 1).获取包名 打开当前运行的app,然后输入如下命令,然后在第一行TASK后面的就可以看到包名 a ...
- Hadoop之Shell脚本自动启动
在用Hadoop进行大数据分析处理时,通常配置的服务器不止一两台.为了减少人工操作的重复性,所以hadoop提供了可以自动启动Hadoop集群的Shell脚本.在使用Shell脚本启动集群之前,需要进 ...
- Android Shell脚本编辑运行
先在linux上编写好shell脚本,push到Android机器下sh来执行,或者后台执行nohup ./testa.sh &.脚本内容如下: #!/system/bin/bash whil ...
- android删除目录,Android shell脚本删除目录以外的所有文件和文件夹
现在我使用rm -r / blaa / *删除blaa目录中的所有文件夹和文件.我正在寻找的是一种删除blaa目录中的所有文件夹和文件的方法,除非文件夹名为abc. 有任何想法吗? 解决方法: 这有很 ...
- 教你用shell脚本检测服务器程序是否在运行
shell脚本定时检测python程序是否运行 shell脚本 #!/bin/bashecho "开始检查运费fright_run程序是否运行..."cd /opt/gh2/app ...
- app以root身法执行shell脚本
2019独角兽企业重金招聘Python工程师标准>>> 写一个xxxsh的shell脚本文件,放到android系统的/system/bin目录下 #! /system/bin/sh ...
- [Android6.0]App中调用init.rc中的服务,从而运行shell脚本
Author: Younix Platform: RK3399 OS: Android 6.0 Kernel: 4.4 Version: v2017.07 需求:希望在 Android App 中添加 ...
最新文章
- Java判断文本文件编码格式以及读取
- C#: static关键字的作用
- UML建模之业务处理模型(Business Process Model,BPM)
- salmap绕waf
- 五十三、爱彼迎数据集分析建模
- python将数据存入mysql数据库中_python3 两种方法将数据存入mysql数据库
- 分布式系统的面试题1
- 无监督学习 | PCA 主成分分析之客户分类
- 好久没弄数学了,一本书上出现了,应该是指代了什么意思,问下.
- input标签与图片按钮水平对齐的解决方法
- PHP常用的数组相关处理函数
- python网课推荐-python网课什么平台好
- Spring全家桶视频教程
- ppt python动画_ppt中如何插入动画 python入门教程(非常详细)
- 4p营销组合策略案例_4p营销策略案例
- ORACLE创建物化视图(on commit\on demand)
- 半导体产业的根基:晶圆是什么
- 青青子佩(朋友写给我的)
- oracle计算6的阶乘,oracle 求阶乘
- STM32 关键词(1) __weak
热门文章
- ui设计现状与意义_UI设计的现状如何?
- 离线地图for SQLite
- SCI分区方法---JCR期刊分区及其检索方法
- 刺激战场国际服服务器如何修改,刺激战场国际服如何更改自己的苹果id地区-无需购买海外id...
- 动态规划法(二)——弗洛伊德算法
- 如何使用商业化广告赚取收益
- 推荐2022年有微信小程序毕业设计需求的70多个作品
- 正斜杠 “/” 与反斜杠 “\”辨析
- 卸载工具Android,教你轻松卸载/删除Android手机内置游戏/软件
- Mysql访问日志记录