造成原因:手机安卓系统版本太高,导致的不兼容。我的安卓系统8.1
。在没有首先卸载的情况下尝试重新安装io.appium.settings解决方案:
今天尝试对微信公众号进行自动化,按照教程一顿操作之后,发现出现如下的报错:
各种百度,谷歌忙活了一下午之后,终于找到了解决办法,希望后面的人少踩一点坑,废话不多说了,直接看下面的解决方放吧!
解决方法:
1.首先找到 android.js 这个文件并打开进行如下修改路径:Appium \ node_modules \ appium \ lib中\设备\机器人\ android.js
2.再找到 adb.js 文件,打开并修改其两处代码,路径:Appium \ node_modules \ appium \ node_modules \ appium-ADB \ lib中\ adb.js
备注:第一张截图是直接替换,第二张截图是新增,代码在下面
第一处修改:
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, []);
}
第二处新增:
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.
卸载io.appium.adndroid.ime
cmd运行:adb uninstall io.appium.android.ime提示:成功表示成功,如果提示报错,那就直接去运行脚本,如果提示“adb”不是内部或外部命令,也不是可运行的程序或批处理文件,兄弟,先别看这个了,先去再看一下环境搭建。
4.提示成功之后就可以直接去运行脚本了。