appium_v1.4.16版本不适配android7.0系统,运行报错“Attempt to re-install io.appium.settings without first uninstal
仰天大笑出门去,我辈岂是蓬蒿人。这篇文章主要讲述appium_v1.4.16版本不适配android7.0系统,运行报错“Attempt to re-install io.appium.settings without first uninstal相关的知识,希望能为你提供帮助。
要解决的问题: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系统,运行报错“Attempt to re-install io.appium.settings without first uninstal】
文章图片
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注,转载自http://www.cnblogs.com/imlvbu/p/7127940.html
推荐阅读
- Android——Activity生命周期
- 安卓下H5弹窗display:table的bug
- APP加固技术历程及未来级别方案(虚机源码保护)
- Android SurfaceView内容居中显示
- 什么样的APP应用才是用户喜欢的?
- spring 3.2.7 applicationContext.xml
- Android Studio 升级到3.0 提示 java.lang.NoClassDefFoundError
- android将应用中图片保存到系统相册并显示
- 关于控制台输出 警告 log4j:WARN No appenders could be found for logger