今天用appium链接真机时,碰到的第一个问题:Attempt to re-install io.appium.settings without first uninstalling.(这是日志中显示的报错信息)
解决办法:还在找原因,后续更新进来。
百度找到答案了,测试后,就没有再出现这个报错了。
要解决的问题: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
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