有一个简单的方法复制/粘贴(桌面的)剪贴板内容到EditView上的安卓模拟器?

(只是为了简化开发/测试)


当前回答

有时模拟器的剪贴板与系统剪贴板不同步。这是一个bug。

但是您可以考虑在调试模式下更改变量值的能力:https://www.jetbrains.com/help/idea/tutorial-set-value.html#solution (Android Studio基于IntelliJ IDEA,所以我希望这个链接会有帮助)

如果你的应用程序从剪贴板读取文本,你可以改变这个文本的变量值,并越过你的文本

其他回答

也许有点棘手,但你可以通过使用模拟器控件发送SMS到模拟器。然后,如果文本较长,则不必重新键入所有文本,并且可以在模拟器中复制粘贴它。

另一种方法:通过“telnet localhost PORT”连接到模拟器 然后使用硬件事件发送向模拟器发送一个文本输入事件(需要UTF-8)。看看这个

在终端中,输入adb shell input text 'my string here。使用一些转义字符,比如\$ that'

注意,在文本中包含空格的另一种方法是将每个空格字符替换为%s。

实际上,在我的情况下,重新启动MacBook并使用这个命令运行模拟器解决了这个问题:

 emulator -avd Pixel_5_API_31  -wipe-data

请记住,您应该使用您的模拟器设备,查看模拟器列表使用以下命令:

emulator -list-avds 

只要从任何地方复制,点击并按住模拟器手机的编辑文本你想要的文本(有点像你会按下并按住粘贴在实际的电话),粘贴选项将出现,然后粘贴。

我厌倦了这个问题,所以我只是做了这个别名来处理它:

alias ap="pbpaste | xargs adb shell input text"

然后,当你打开一个新的终端窗口时,输入“ap”将把剪贴板上的任何内容粘贴到模拟器主动选择的文本字段中。

设置

只需将其添加到您的配置文件(对于大多数用户来说是~/)。ZSH用户的~/.zshrc Bash_profile)使别名在任何地方都可用。或者,如果你是bash用户(MacOS的默认用户),那么你可以在终端中运行以下命令来为你设置:

echo "alias ap='pbpaste | xargs adb shell input text'" >> ~/.bash_profile && source ~/.bash_profile