有一个简单的方法复制/粘贴(桌面的)剪贴板内容到EditView上的安卓模拟器?
(只是为了简化开发/测试)
有一个简单的方法复制/粘贴(桌面的)剪贴板内容到EditView上的安卓模拟器?
(只是为了简化开发/测试)
当前回答
写入命令:adb devices(它将列出当前连接的设备) 选择要写入文本的文本框。 写入命令:adb shell input text" Yourtext"(确保只连接一台设备执行此命令) 完成了!
其他回答
仅适用于API级别>= 24
从本地机器复制任何文本,然后简单地运行这个命令
adb shell input keyevent 279
确保在Android模拟器设置中启用剪贴板共享选项
在终端中,输入adb shell input text 'my string here。使用一些转义字符,比如\$ that'
注意,在文本中包含空格的另一种方法是将每个空格字符替换为%s。
有时模拟器的剪贴板与系统剪贴板不同步。这是一个bug。
但是您可以考虑在调试模式下更改变量值的能力:https://www.jetbrains.com/help/idea/tutorial-set-value.html#solution (Android Studio基于IntelliJ IDEA,所以我希望这个链接会有帮助)
如果你的应用程序从剪贴板读取文本,你可以改变这个文本的变量值,并越过你的文本
实际上,在我的情况下,重新启动MacBook并使用这个命令运行模拟器解决了这个问题:
emulator -avd Pixel_5_API_31 -wipe-data
请记住,您应该使用您的模拟器设备,查看模拟器列表使用以下命令:
emulator -list-avds
对于Mac和Linux,在你的aliases_bash文件中尝试这个函数(位于/etc/aliases_bash中,对于Mac用户,一定要使用sudo vim /etc/aliases_bash)
function adbtx {
userinput="$(sed 's/ /%s/g' <<< $1)"
adb shell input text "${userinput}";
}
export -f adbtx
然后在命令行输入:
adbtx 'Your text to emulator input'
'Your text to emulator input'将在emulator text字段中输入。
向Eliot的sed替换字符串致敬。