一、背景

当应用发现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自动停止相关推荐

  1. android开机自动启动app,Android实现开机自动启动Service或app的方法

    本文实例讲述了Android实现开机自动启动Service或app的方法.分享给大家供大家参考,具体如下: 第一步:首先创建一个广播接收者,重构其抽象方法 onReceive(Context cont ...

  2. Android shell 脚本

    Android shell 脚本编写 一般在Ubuntu上,我们需要运行某个脚本,则直接 $sh test.sh 先编写一个简单的循环数数的脚本,push到Android机器下同样用sh来执行. 脚本 ...

  3. linux执行shell过程日志,Android之在linux终端执行shell脚本直接打印当前运行app的日志...

    1.问题 我们一般很多时候会需要在ubuntu终端上打印当前运行app的日志,我们一般常见的做法是 1).获取包名 打开当前运行的app,然后输入如下命令,然后在第一行TASK后面的就可以看到包名 a ...

  4. Hadoop之Shell脚本自动启动

    在用Hadoop进行大数据分析处理时,通常配置的服务器不止一两台.为了减少人工操作的重复性,所以hadoop提供了可以自动启动Hadoop集群的Shell脚本.在使用Shell脚本启动集群之前,需要进 ...

  5. Android Shell脚本编辑运行

    先在linux上编写好shell脚本,push到Android机器下sh来执行,或者后台执行nohup ./testa.sh &.脚本内容如下: #!/system/bin/bash whil ...

  6. android删除目录,Android shell脚本删除目录以外的所有文件和文件夹

    现在我使用rm -r / blaa / *删除blaa目录中的所有文件夹和文件.我正在寻找的是一种删除blaa目录中的所有文件夹和文件的方法,除非文件夹名为abc. 有任何想法吗? 解决方法: 这有很 ...

  7. 教你用shell脚本检测服务器程序是否在运行

    shell脚本定时检测python程序是否运行 shell脚本 #!/bin/bashecho "开始检查运费fright_run程序是否运行..."cd /opt/gh2/app ...

  8. app以root身法执行shell脚本

    2019独角兽企业重金招聘Python工程师标准>>> 写一个xxxsh的shell脚本文件,放到android系统的/system/bin目录下 #! /system/bin/sh ...

  9. [Android6.0]App中调用init.rc中的服务,从而运行shell脚本

    Author: Younix Platform: RK3399 OS: Android 6.0 Kernel: 4.4 Version: v2017.07 需求:希望在 Android App 中添加 ...

最新文章

  1. Java判断文本文件编码格式以及读取
  2. C#: static关键字的作用
  3. UML建模之业务处理模型(Business Process Model,BPM)
  4. salmap绕waf
  5. 五十三、爱彼迎数据集分析建模
  6. python将数据存入mysql数据库中_python3 两种方法将数据存入mysql数据库
  7. 分布式系统的面试题1
  8. 无监督学习 | PCA 主成分分析之客户分类
  9. 好久没弄数学了,一本书上出现了,应该是指代了什么意思,问下.
  10. input标签与图片按钮水平对齐的解决方法
  11. PHP常用的数组相关处理函数
  12. python网课推荐-python网课什么平台好
  13. Spring全家桶视频教程
  14. ppt python动画_ppt中如何插入动画 python入门教程(非常详细)
  15. 4p营销组合策略案例_4p营销策略案例
  16. ORACLE创建物化视图(on commit\on demand)
  17. 半导体产业的根基:晶圆是什么
  18. 青青子佩(朋友写给我的)
  19. oracle计算6的阶乘,oracle 求阶乘
  20. STM32 关键词(1) __weak

热门文章

  1. ui设计现状与意义_UI设计的现状如何?
  2. 离线地图for SQLite
  3. SCI分区方法---JCR期刊分区及其检索方法
  4. 刺激战场国际服服务器如何修改,刺激战场国际服如何更改自己的苹果id地区-无需购买海外id...
  5. 动态规划法(二)——弗洛伊德算法
  6. 如何使用商业化广告赚取收益
  7. 推荐2022年有微信小程序毕业设计需求的70多个作品
  8. 正斜杠 “/” 与反斜杠 “\”辨析
  9. 卸载工具Android,教你轻松卸载/删除Android手机内置游戏/软件
  10. Mysql访问日志记录