要解決的問題: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
注,轉載自http://www.cnblogs.com/imlvbu/p/7127940.html