adb 连夜神模拟器速度慢怎么办?

2019-10-16 01:05:41 +08:00
 JCZ2MkKb5S8ZX9pq

环境

问题

尝试的方法

求教

14516 次点击
所在节点    Android
25 条回复
EscYezi
2019-10-16 08:30:54 +08:00
需要写模拟器脚本的话强推 Airtest,我用 Airtest 弄了个明日方舟的脚本,可以参考下
https://github.com/yeziyezi/airtest-arknights
ctro15547
2019-10-16 08:39:48 +08:00
adb shell screencap 截图本来就很慢 ,试试模拟按键截图。真机用 tap 也差不多 1 秒左右 。想简单直接按键精灵手机版,脑子都不用就能写。还要啥自行车
JCZ2MkKb5S8ZX9pq
2019-10-16 09:27:29 +08:00
@ctro15547 按键精灵不大爱写,小东西还行,稍微复杂点调试起来麻烦。
javen73
2019-10-16 09:45:33 +08:00
emmm 用触动精灵这个平台不行嘛,我觉得还不错
JCZ2MkKb5S8ZX9pq
2019-10-16 09:52:03 +08:00
@javen73 是 touchelf 嘛? lua 的那个?
按键精灵和 touchelf 以前都写过,但是感觉调试不方便,手机上看 log 也麻烦,模拟器连打字有时候都有问题,复制黏贴过去啥的,实在是有点费事儿。两三个点判断一下点点还行,稍微复杂点真的太麻烦。
还是觉得 python 写和调试都比较方便。
javen73
2019-10-16 09:54:56 +08:00
@JCZ2MkKb5S8ZX9pq #5 是触动精灵,不是触摸精灵。
触动精灵有一个小的 IDE,电脑上可以直接调试手机和模拟器,脚本调试的 log 可以直接显示在 IDE 里面,不用再手机里看 log 的
JCZ2MkKb5S8ZX9pq
2019-10-16 09:55:32 +08:00
@javen73 ok,我找找看,谢谢。
fhvch
2019-10-16 10:32:42 +08:00
appium https://github.com/appium/appium 环境比较复杂
uiautomater2 https://github.com/openatx/uiautomator2 环境相对简单

还有 1 楼哥们说的 airtest,这个支持图形点击,做游戏测试比较好,如果只是滑动,点击固定的点的话可以用 uiautomater2
Troevil
2019-10-16 10:36:14 +08:00
可以试试 大漠挺好用的
hkitdog
2019-10-16 11:13:45 +08:00
@Troevil 没英文文档,看着难受
JCZ2MkKb5S8ZX9pq
2019-10-16 14:53:49 +08:00
@EscYezi
@ctro15547
@javen73
@fhvch
@fhvch
@Troevil
@hkitdog

各位,捎带再请教个问题。
夜神怎么能方便点用上主机的代理?

以前是走 fiddler,然后 fiddler 用代理。但是安卓 7 版本下,fiddler 的证书有点问题。请问有啥便利的方法嘛?
Jirajine
2019-10-16 14:57:37 +08:00
别用 Python,直接写 shell 脚本用 adb shell xxx.sh 执行
JCZ2MkKb5S8ZX9pq
2019-10-16 15:08:00 +08:00
@Jirajine 跟 Python 完全没关系,直接命令行也是慢的,早试过了。
Jirajine
2019-10-16 15:14:44 +08:00
@JCZ2MkKb5S8ZX9pq 不是说 Python 慢,你那样调用每一条命令都要 adb 通信一次,写成脚本就是手机上原生执行,不用通信了。
fhvch
2019-10-16 15:33:57 +08:00
#11 装个 fiddler 的证书不行么?
不行的话,就换个代理试试 Charles anyproxy ( https 的话都要装证书)
JCZ2MkKb5S8ZX9pq
2019-10-16 15:37:31 +08:00
@Jirajine 一样很慢的,好像只有一次性连续输入一系列动作可以这么搞,比如点击五次之类的,能优化一点。
但是如果要图形判断再操作,还是每次都很慢。
JCZ2MkKb5S8ZX9pq
2019-10-16 15:38:49 +08:00
@fhvch 证书当然装了,安卓 4.2 没问题,可能安卓 7 改了啥东西吧。
而且我的需求只是代理,并不需要抓包,所以想知道有没有更简单的方法,省得多开一个抓包的。
fhvch
2019-10-16 16:00:36 +08:00
#17
Android7.0 及以上的系统中,每个应用可以定义自己的可信 CA 集,默认情况下,应用只会信任系统预装的 CA 证书,而不会信任用户安装的 CA 证书,

所以 Android7.0 及以上的系统就算安装证书也不会被信任, 但还是可以其他办法解决:

1.修改 APP 配置文件,直接修改 APP 的 android:networkSecurityConfig 属性,前提是可以获取到 APP 的源码。
2.将证书安装到系统证书中,需要 root。(详情请查看:https://testerhome.com/articles/17746
JCZ2MkKb5S8ZX9pq
2019-10-16 17:43:22 +08:00
暂时先用了 uiautomator,代码改动量很小。
截屏还是需要 1s 左右,估计跟 png 压缩有关系。点击是快了很多。

[10-16 17:42:39] Click used -------------- 0.148
[10-16 17:42:40] Screen capture used ----- 1.131
[10-16 17:42:40] 关卡选择
[10-16 17:42:40] Click used -------------- 0.152
[10-16 17:42:41] Screen capture used ----- 0.611
[10-16 17:42:41] 出击
[10-16 17:42:41] Click used -------------- 0.148
[10-16 17:42:42] Screen capture used ----- 0.714
[10-16 17:42:42] 其它
[10-16 17:42:42] Click used -------------- 0.142
[10-16 17:42:43] Screen capture used ----- 0.712
[10-16 17:42:43] 其它
[10-16 17:42:43] Click used -------------- 0.158
[10-16 17:42:43] Screen capture used ----- 0.634
[10-16 17:42:43] 其它
[10-16 17:42:44] Click used -------------- 0.146
[10-16 17:42:44] Screen capture used ----- 0.593
locoz
2019-10-16 17:51:27 +08:00
@JCZ2MkKb5S8ZX9pq #11
@JCZ2MkKb5S8ZX9pq #17
是系统级的 SSL Pinning,很好解决,可以看一下我之前写的这篇文章: https://zhuanlan.zhihu.com/p/56397466

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/609733

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX