是否有一个简单的方法复制/粘贴(桌面)剪贴板内容EditView上的安卓模拟器?
EditView
(只是为了简化开发/测试)
也许有点棘手,但你可以通过使用模拟器控件发送SMS到模拟器。然后,如果文本较长,则不必重新键入所有文本,并且可以在模拟器中复制粘贴它。
另一种方式:通过telnet localhost PORT连接到模拟器 然后使用硬件事件发送向模拟器发送一个文本输入事件(需要UTF-8)。查看这
我来这里是为了寻找同样问题的解决方案,最后写了一个Android应用程序来解决这个问题。你可以从http://www.box.net/shared/6203bn441bfltkimajmk下载它。只需通过首选项菜单提供一个URL,指向一个可以轻松更改Web响应的地方。Web响应的第一行将为您复制到模拟器的剪贴板。更多细节可以在http://agilesc.barryku.com/?p=255找到。
我通常通过telnet将我想复制的文本作为短信发送,然后从短信中复制文本。方法如下:
通过telnet连接:
telnet localhost <port>
telnet localhost 5554
(5554为默认端口。模拟器的标题栏显示了正在使用的端口,因此您可以看到它是否不同)。
发送信息:
sms send <senders phone number> <message>
sms send 1231231234 This is the message you want to send
(你可以编一个寄件人的电话号码)
这对于链接非常有效,因为消息会自动转换为一个超链接,你可以单击,而不必复制/粘贴到浏览器中。
一旦模拟器接收到消息,您就可以复制它并将其粘贴到任何您喜欢的地方。
在终端中,键入adb shell input text 'my string here. With some characters escaped like \$ that'
adb shell input text 'my string here. With some characters escaped like \$ that'
注意,在文本中包含空格的另一种方法是将每个space字符替换为%s。
space
%s
使用Visual Studio模拟器,这是我的方法。
首先堆一个虚拟sd卡:
设置一个文本文件来传输文本:
每当我需要向剪贴板发送文本时。
一旦设置好,就很容易重复。相同的方法将适用于其他模拟器,您可能需要使用不同的方法将您的文本文件推到模拟器。
(将评论讨论转换为回答)
windows上唯一的解决方案:https://github.com/gcb/AdbPaste
为了解决这个问题,我花了几个小时写了它。我现在回到100%的linux,所以请随意加入它作为贡献者或维护者!
如果你在Mac上使用Android Studio,你可能需要提供adb可执行文件的完整路径。要找到这条路径,打开:
adb
Android Studio > Tools > Android > SDK Manager
将路径复制到SDK位置。adb可执行文件将位于platform-tools目录中。对我来说,这就是道路:
platform-tools
~/Library/Android/sdk/platform-tools/adb
现在您可以执行以下命令:
~/Library/Android/sdk/platform-tools/adb shell input text 'thetextyouwanttopaste'
对于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'
'你的文本到模拟器输入'将在模拟器文本字段中输入。
向Eliot的sed替换字符串致敬。
我厌倦了这个问题,所以我只是做了这个别名来处理它:
alias ap="pbpaste | xargs adb shell input text"
然后,当你打开一个新的终端窗口时,输入“ap”将把剪贴板上的任何内容粘贴到模拟器主动选择的文本字段中。
只需将此添加到您的配置文件(对于大多数用户是~/.bash_profile,对于zsh用户是~/.zshrc),使别名在任何地方都可用。或者,如果你是bash用户(MacOS的默认用户),那么你可以在终端中运行以下命令来为你设置:
~/.bash_profile
~/.zshrc
echo "alias ap='pbpaste | xargs adb shell input text'" >> ~/.bash_profile && source ~/.bash_profile
写入命令:adb devices(它将列出当前连接的设备) 选择要写入文本的文本框。 写入命令:adb shell input text" Yourtext"(确保只连接一台设备执行此命令) 完成了!< / p >
v25.3。Android Emulator &x86谷歌API Emulator系统图像API Level 19 (Android 4.4 - Kitkat)和更高,您可以简单地从您的桌面用鼠标或键盘复制和粘贴。
该特性在Android Studio 2.3中宣布
不确定这是否有用,但是,如果你需要在移动浏览器中打开桌面浏览器的长URL,你可以用该URL发送短信,并直接从消息应用程序打开。
在Linux上,这将直接从剪贴板粘贴文本
adb shell input text "'$(xclip -selection c -o)'"
此外,使用此命令创建全局键盘短键也非常有用,例如Ctrl + Shift +超级+ V
只要从任何地方复制,点击并按住模拟器手机的编辑文本你想要的文本(有点像你会按下并按住粘贴在实际的电话),粘贴选项将出现,然后粘贴。
你也可以不使用变通方法。只需点击并按住输入框,直到粘贴通知出现,然后点击粘贴。就是这样!
仅适用于API级别>= 24
从本地机器复制任何文本,然后简单地运行这个命令
adb shell input keyevent 279
确保在Android模拟器设置中启用了Enable Clipboard Sharing选项
Enable Clipboard Sharing
点击鼠标左键2 - 3秒,就会出现粘贴按钮。单击粘贴按钮,测试将顺利复制。
有一个简单的方法
参见原始答案:https://www.quora.com/How-do-I-paste-text-from-my-computer-to-Android-emulator
对于Mac用户来说,一个更简单的方法是在android模拟器中完成这一操作:
实际上,在我的情况下,重新启动MacBook并使用这个命令运行模拟器解决了这个问题:
emulator -avd Pixel_5_API_31 -wipe-data
请记住,您应该使用您的模拟器设备,查看模拟器列表使用以下命令:
emulator -list-avds
我的情况是,我的模拟器粘贴了我几天前复制的一些东西,而从未将最后一个东西粘贴到我笔记本电脑的当前剪贴板中。
为了解决这个问题,我让我的模拟器从cold boot开始,而不是quick boot。
cold boot
quick boot