Appium 关于 appium 在安卓上频繁安装 unlock、setting.apk 的问题查找记录

进击的程序茗 · March 14, 2018 · Last by momoko replied at July 13, 2018 · 1580 hits

总结

该问题已经被官方在 1.7.x 的版本中进行修复。但 io.appium.android.ime 仍然会重复安装 以下为对于该问题的查找记录

1.6.x 版本说明

在 appium1.6.x 版本中 每次进行安卓用例测试时 appium 都会安装 unlock.app、setting.app、ime.app
关于这个的解决方式可参考如下 blog
appium 解决每次运行都需要安装 Unlock 以及 AppiumSetting 的问题
或者在 appium 设计到该处问题的源码位置,将其添加判断以上 app 是否安装的逻辑即可

1.7.x 版本说明

当前 npm 版本为 1.7.2 版本,官方已经修复了这个问题,在 1.7.2 的changeLog中说明如下:
image.png;

由于这个问题设计到的代码在 appium-android-driver 这个封装好的组件中,所以具体看一下是什么时候更改的,是在 17 年 10 月份的这次代码提交中修复了该问题。
从 commit 继续往下看,9 月份这里也进行过改动,但是 10 月份改动之后与当前 npm 版本是一致的。
Fix handling of settings and unlock app pushing
image.png

对于 installOrUpgrade 这个函数,它的定义在封装好的 android-adb 类库里面,那么接下来去这里看一下对于这个函数的更改
android-adb commit
这个函数同样进行了两次更改,在 9 月份的更改中采用了外部传参的方式判断是否安装但是在 10 月份的 commit 中又去掉了外部传参的参数,改为在该函数中判断是否安装
image.png

对于这个的总结就是该问题已经被官方在 1.7.x 的版本中进行修复。

2018 年 1 月

2018 年 3 月补充
上述提到三个 app
unlock.app、setting.app、io.appium.android.ime 前两个已经不会被重复安装,但是第三个仍然会重复安装
如果在配置中增加了'desired_caps['unicodeKeyboard'] = True' 就会出现第三个 app 的重复安装情况
可能是因为 ime.app 并不是必须安装的 所以官方没有将这个 app 处理

转载请附上本文连接及作者:进击的程序茗 公众号:jjdcxm

共收到 3 条回复 时间 点赞
chunyong 回复

文中对应的是 1.6.3 版本
在 1.7 版本中官方对于前两个 app 进行了处理
第三个的话更改源码调用一下官方代码即可~~~不过和 1.6 中直接更改源码的方式是类似哒~

chunyong 回复

我用这个方法修改 js 脚本后,pc 会提示错误,然后脚本自动改回原来的样子了,请问您遇到过这种情况吗?

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up