android - 通过 shell 从代码调用模拟器上的指纹触摸

标签 android shell

我正在尝试进行测试指纹的集成测试。

根据 google doc从您需要使用的终端调用模拟器上的手指触摸:

adb -e emu finger touch < finger_id >

这对我有用。在我的例子中,id 是 45146572。但是在测试中,你不能自己输入这个命令,因为它应该自动完成。

我一直在尝试各种方法来解决问题(例如,试图了解应用程序如何从传感器接收信息 - 可能是通过某种广播 Intent 等),但现在我仍然不知道该怎么做

我知道 UiAutomation 和 UiAutomator 的类 - UiDevice 有方法

executeShellCommand

我认为这可能会有所帮助。但即使我做了类似的事情:

getUiDevice().executeShellCommand("-e emu finger touch 45146572");

我的设备不会对此使用react(我在类和各种线程上都试过了)。我相信这是由于 executeShellCommand 已经在 shell 中运行造成的。所以就像我在终端输入了

Kamils-MacBook-Pro:~ F1sherKK$ adb shell
root@generic_x86_64:/ #

我想这就是问题所在,因为谷歌想要:

adb -e emu finger touch

不是

adb shell -e emu finger touch

我对 shell 的了解可能还不够。我浏览了所有 documentation很多次。

你知道如何从 shell 调用手指触摸吗?

最佳答案

我相信你必须使用不同格式的密码。它应该是“aa11aa”,即 LetterLetterNumberNumberLetterLetter。

关于android - 通过 shell 从代码调用模拟器上的指纹触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36428013/

相关文章:

android - 当我的应用收到广播消息时如何创建通知

linux - 日期的 Shell 脚本模式

linux - 为什么我的命名管道输入命令行在被调用时挂起?

java - 使用 Java JSch 在防火墙设备上通过 SSH "exec" channel 执行多个命令不起作用

android - 需要一个安卓推送框架

XML 文件中的 Java 错误 : aborting build

android - 在 Android 中使用 Realm 更新表中的多行

java - 如何在 scenform 中将模型旋转到另一个模型?

android - 无需root通过命令行开启飞行模式

linux - 将当前目录更改为 sh 的管道回显不起作用