有没有简便的方法可以将(剪贴板上的)剪贴板内容复制/粘贴到EditView
Android Emulator上?
(只是为了简化开发/测试)
有没有简便的方法可以将(剪贴板上的)剪贴板内容复制/粘贴到EditView
Android Emulator上?
(只是为了简化开发/测试)
Answers:
使用v25.3.x的Android Emulator和x86 Google API Emulator系统映像API Level 19(Android 4.4-Kitkat)及更高版本,您可以简单地使用鼠标或键盘从桌面复制和粘贴。
Android Studio 2.3宣布了此功能
~/.android/avd/
.ini
文件来进行此操作(重置剪贴板共享)?
在终端中,键入 adb shell input text 'my string here. With some characters escaped like \$ that'
请注意,在文本中包含空格的另一种方法是替换%s
每个space
字符。
adb shell input text "
pbpaste"
'ლ\(ಠ益ಠლ\)'
,它只是说'Killed'或似乎成功,并且没有键入任何内容,模拟器中也没有可粘贴的东西。SMS方法(我从DDMS尝试过)似乎在这里不起作用,它显示为“?(????)” :(
adb shell input text "This%sis%stext\nDoes%snot%work%here."
打印“这是文本\ n在这里不起作用。”。
我通常会通过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
。看我的答案。
只需从任何地方复制,然后单击并按住仿真器电话的编辑文本,然后将其粘贴到您想要的文本位置(就像您按住并粘贴到实际电话上一样),将显示“粘贴”选项,然后显示“粘贴”。
如果您在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'
我已经厌倦了这个问题,所以我只是用这个别名来处理它:
alias ap="pbpaste | xargs adb shell input text"
然后,当您打开新的终端窗口时,键入“ ap”会将剪贴板上的所有内容粘贴到模拟器的活动选择的文本字段中。
只需将其添加到您的个人资料中(对于大多数~/.bash_profile
用于zsh用户的用户,对于的用户~/.zshrc
),便可以在任何地方使用别名。另外,如果您是bash用户(MacOS的默认用户),则可以在终端中运行以下命令为您设置它:
echo "alias ap='pbpaste | xargs adb shell input text'" >> ~/.bash_profile && source ~/.bash_profile
alias ap="adb shell input text `pbpaste`"
'alias' is not recognized as an internal or external command, operable program or batch file.
该怎么做
仅适用于API级别> = 24
从本地计算机复制任何文本,然后只需运行此命令
adb shell input keyevent 279
确保在“ Android模拟器设置” Enable Clipboard Sharing
中启用了这些选项
您也可以在没有解决方法的情况下执行此操作。只需在输入字段中单击并按住一会儿,直到出现粘贴通知,然后单击粘贴。而已!
在Linux上,这将直接从剪贴板粘贴文本
adb shell input text "'$(xclip -selection c -o)'"
例如,使用此命令创建全局键盘快捷键也非常有用 Ctrl+Shift+Super+V
制作了这个Windows应用程序,允许用户从可视界面将粘贴复制到Android模拟器或连接的设备。 https://github.com/Florin-Birgu/Android-Copy-Paste
使用Visual Studio模拟器,这是我的方法。
首先是虚拟SD卡:
设置文本文件以传输文本:
每当我需要将文本发送到剪贴板时。
设置完成后,很容易重复。相同的方法将适用于其他仿真器,因为您可能需要使用其他方法将文本文件推送到仿真器。
(将评论讨论转换为答案)
Windows上唯一的解决方案:https : //github.com/gcb/AdbPaste
几个小时后就写出来解决了这个问题。我现在回到了100%的Linux,请随时以贡献者或维护者的身份加入它!
我是来这里寻找相同问题的解决方案的,最终编写了一个Android应用程序来解决此问题。您可以从http://www.box.net/shared/6203bn441bfltkimajmk下载。只需通过“首选项”菜单指定一个URL,即可指向一个可以轻松更改Web响应的位置。Web响应的第一行将为您复制到仿真器的剪贴板中。可以在http://agilesc.barryku.com/?p=255中找到更多详细信息。
对于Mac和Linux,请在您的aliases_bash文件中尝试使用此功能(对于Mac用户,该文件位于/ etc / aliases_bash中,请确保使用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的字符串。