android机器人 模拟 踩坑过程
使用框架:RoDroid+lua(源码在aliyun-git)
android安装git和openssh(Termux方案):
1、先安装Termux
termux的安装包(git源):https://github.com/termux/termux-app/releases
2、安装并启动openssh
安装好termux后,进入该app(是一个lunix的终端),输入命令:
pkg upgrade
然后安装openssh(终端连接工具):
pkg install openssh
如果报错(CANNOT LINK EXECUTABLE "ssh-keygen":library "libcrypto.so.3" not found),说明可能没有执行:pkg upgrade(我遇到的坑)
输入sshd开启ssh:
sshd
# 如果提示以下错误:
sshd:no hostkeys available -- existing.
意思是需要先生成一个令牌,执行以下命令即可:
ssh-keygen -A
再次启动即成功了。
3、pc连接android(通过ssh账密)
先查看手机端ip,输入命令:
# 查询本地局域网ip
ifconfig
# 在查询登录用户用户名
whoami
# 设置一下登录账号的密码,该命名会让你输入2次密码
passwd # termux #
注意:手机上termux开启的sshd服务用的是8022端口,而不是常用的22端口
可设置自动开启ssh(避免termux每次启动都需要手动启动sshd)
echo "sshd" >> ~/.bashrc
pc终端测试下连接:
# port为端口号 user为用户名 ip为要登陆的ip
ssh -p [port] [user]@[ip]
连接成功!
可公钥无密连接,参考:https://blog.csdn.net/qq_21808961/article/details/102859280
补充记录(2023-10.18)
**termux和git的安装使用不需要root,termux如果需要操作和访问其他目录需要授权,目前无法通过adb shell直接使用git命令(不知道有没有其他方式)
# 在手机执行一下命令授权
termux-setup-storage
# 安装git(如果命令不行,可以直接输入git,会给安装提示)
pkg install git
# 通过http拉取代码,如果想长期保存密码,不用每次都验证,则可以使用
git config --global credential.helper store
其他可忽略,日常乱记
代码快捷同步命令:
git add -A && git commit -m "测试" && git push && ssh -p 8022 u0_a237@192.168.7.153 "cd ~/storage/shared/roscript; git pull"
坑:需要开启sshd服务;需要解决ssh免密登录的问题(可参考:https://www.cnblogs.com/Denny_Yang/p/14380787.html)
定位android元素path(通过appnium实现):
安装使用说明:https://www.cnblogs.com/RuiRuia/articles/12199702.html
server和解析器已分开,要分别安装:
appium-desktop下载地址:https://github.com/appium/appium-desktop/releases
appium-inspector下载地址:https://github.com/appium/appium-inspector/releases
appium-inspector配置和使用:https://www.jianshu.com/p/0a19409c0d37
查看deviceName: cmd执行:> adb devices
查看当前运营的app包和activity(appPackage&appActivity): cmd执行:> adb shell dumpsys window | findstr mCurrentFocus
查看安卓系统版本(platformVersion):cmd执行:> adb shell getprop ro.build.version.release
定位技巧:https://www.cnblogs.com/tuxiaomeng/p/10442514.html
定位android元素path(通过weditor[未实践]):
https://www.cnblogs.com/yoyoketang/p/11204534.html
https://github.com/openatx/weditor
解析动态页面上的元素很慢(10s以上),并提示: Could not detect idle state
找到超时时间的配置,修改为1s(通过id解析恢复到1-2s,通过text遍历的解析仍然需要10s[之前要20s])
退出所有app:
https://blog.csdn.net/ZoeyZY/article/details/100559377
python模拟程序(封装好的,都不用管java代码,也不需要在root,更不需要在安卓上安装termux、python之类的东西):
https://github.com/openatx/uiautomator2
安卓/iphone好像无法安装python的pillow这些科学库(可能有方法,估计比较麻烦,也不一定能良好运行,对设备性能消耗较大)