有没有在Android模拟器上复制/粘贴(桌面)剪贴板内容到EditView
?
(仅为了便于开发/测试)
答案 0 :(得分:283)
在终端中,键入adb shell input text 'my string here. With some characters escaped like \$ that'
请注意,在文本中包含空格的替代方法是将%s
替换为每个space
字符。
答案 1 :(得分:81)
我通常通过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
(您只需填写发件人电话号码)
这适用于链接,因为邮件会自动转换为超链接,您可以单击该链接而无需将其复制/粘贴到浏览器中。
模拟器收到消息后,您可以将其复制并粘贴到您喜欢的任何位置。
答案 2 :(得分:78)
使用Android模拟器的v25.3.x&amp; x86 Google API仿真器系统映像API级别19(Android 4.4 - Kitkat)及更高版本,只需使用鼠标或键盘从桌面复制和粘贴即可。
此功能已通过Android Studio 2.3
宣布答案 3 :(得分:13)
答案 4 :(得分:11)
只需从任何地方进行复制,点击并按住模拟器手机编辑文本所需的文字(有点像你要按住并粘贴在实际手机上),PASTE选项会出现,然后是PASTE。
答案 5 :(得分:7)
答案 6 :(得分:6)
如果您在Mac上使用Android Studio,则可能需要提供adb
可执行文件的完整路径。要找到此路径,请打开:
Android Studio > Tools > Android > SDK Manager
将路径复制到SDK位置。 adb
可执行文件位于platform-tools
目录中。对我来说,这就是道路:
~/Library/Android/sdk/platform-tools/adb
现在您可以运行此命令:
~/Library/Android/sdk/platform-tools/adb shell input text 'thetextyouwanttopaste'
答案 7 :(得分:5)
可能有点棘手,但您可以使用模拟器控件将短信发送到模拟器。那么你不必重新键入所有文本,如果它更长,可以将它复制粘贴到模拟器中。
另一种方式:通过“telnet localhost PORT”连接到模拟器 然后使用硬件事件发送将文本输入事件发送到模拟器(需要是UTF-8)。看看this
答案 8 :(得分:3)
在Linux上,这将直接从剪贴板粘贴文本
adb shell input text "'$(xclip -selection c -o)'"
使用此命令创建全局键盘快捷键非常有用,例如 Ctrl + Shift + Super + V
答案 9 :(得分:2)
你看过C2DM了吗? chrome2phone和fox2phone可以发送链接和剪贴板文本,并自动将其复制到手机上。 另外,尝试使用adb shell。有一个服务命令(/ system / bin / service)可以使用服务(服务调用剪贴板......)。对于getClipboardText,setClipboardText和hasClipboardText,事务代码分别为1,2和3。
答案 10 :(得分:2)
只需单击鼠标左键2或3秒钟,就会出现粘贴按钮。点击粘贴按钮,测试将被顺利复制。
答案 11 :(得分:2)
您也可以在没有解决方法的情况下执行此操作。只需在输入字段中单击并按住一会儿,直到出现粘贴通知,然后单击粘贴。就是这样!
答案 12 :(得分:2)
我厌倦了这个问题,所以我只是做了这个别名来处理它:
alias ap="pbpaste | xargs adb shell input text"
然后当您打开一个新的终端窗口时,键入&#34; ap&#34;将剪贴板上的内容粘贴到模拟器的主动选定文本字段中。
只需将此添加到您的个人资料中(对于~/.bash_profile
的zsh用户~/.zshrc
的大多数用户,可以在任何地方使用别名)。或者,如果您是bash用户(MacOS的默认设置),则可以在终端中运行以下命令为您设置:
echo "alias ap='pbpaste | xargs adb shell input text'" >> ~/.bash_profile && source ~/.bash_profile
答案 13 :(得分:1)
写入命令:adb devices(它将列出当前连接的设备) 选择要在其中写入文本的文本框。 写命令:adb shell输入文本“Yourtext”(确保只连接一个设备才能运行此命令) 完成!
答案 14 :(得分:1)
制作此Windows应用程序,允许用户从可视界面将粘贴复制到Android模拟器或连接的设备。 https://github.com/Florin-Birgu/Android-Copy-Paste
答案 15 :(得分:1)
(将评论讨论转换为答案)
仅在Windows上解决方案:https://github.com/gcb/AdbPaste
写了几个小时来解决这个问题。我现在回到100%linux,所以随时加入它作为贡献者或维护者!
答案 16 :(得分:1)
使用Visual Studio模拟器,这是我的方法。
First Mound是一张虚拟SD卡:
设置文本文件以传输文本:
每当我需要将文本发送到剪贴板时。
设置完成后很容易重复。相同的方法适用于其他模拟器,您可能需要使用不同的方法将文本文件推送到模拟器。
答案 17 :(得分:1)
有一个简单的方法
查看原始答案:https://www.quora.com/How-do-I-paste-text-from-my-computer-to-Android-emulator
答案 18 :(得分:0)
对于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的替换字符串。
答案 19 :(得分:0)
仅适用于API级别> = 24
从本地计算机复制任何文本,然后只需运行此命令
adb shell input keyevent 279
确保在Android模拟器设置中启用了Enable Clipboard Sharing
选项
答案 20 :(得分:0)
我来到这里寻找同一问题的解决方案,最后编写了一个Android应用程序来解决这个问题。您可以在http://www.box.net/shared/6203bn441bfltkimajmk下载。只需通过“首选项”菜单提供一个URL,指向一个可以轻松更改Web响应的位置。 Web响应的第一行将被复制到您的模拟器剪贴板中。有关详细信息,请访问http://agilesc.barryku.com/?p=255。