appium_v1.4.16版本自动化适配android7.0系统

青春须早为,岂能长少年。这篇文章主要讲述appium_v1.4.16版本自动化适配android7.0系统相关的知识,希望能为你提供帮助。
https://www.cnblogs.com/imlvbu/p/7127940.html
要解决的问题:appium在androidV7.0系统上运行时报错  Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install io.appium.settings without first uninstalling.]
原因分析:appium的uiautomator版本与androidV7.0不适配。
预置条件:手机端已经安装完Appium Settings 和 Unlock两个应用
解决步骤:1.修改源码文件-注释安装appiumSettings和unlock的两行代码
            文件路径: C:\\Program Files (x86)\\Appium\\node_modules\\appium\\lib\\devices\\android\\android.js
【appium_v1.4.16版本自动化适配android7.0系统】

appium_v1.4.16版本自动化适配android7.0系统

文章图片

  2.修改源码文件如下:
            a.打开   \\Program Files (x86)\\Appium\\node_modules\\appium\\node_modules\\appium-adb\\lib\\adb.js
            b.在adb.js的1035行找到
      this.shell("ps \'"  +  name  +  "\'", function (err, stdout) {
      if  (err)  return  cb(err);       替换成       this.shell_grep("ps", name, function (err, stdout) {       if  (err) {       logger.debug("No matching processes found");       return  cb(null, []);       }             并增加上面用到的shell_grep函数:     ADB.prototype.shell_grep  =  function (cmd, grep, cb) {     if  (cmd.indexOf(\'"\') === -1) {     cmd = \'"\'  +  cmd  +  \'"\';     }     var execCmd  =  \'shell \'  +  cmd  +  \'| grep \'  +  grep;     this.exec(execCmd, cb);     };           3.重启appium

    推荐阅读