首页 文章

在Android模拟器上粘贴文本

提问于
浏览
253

无论如何在Android Emulator上复制/粘贴(桌面)剪贴板内容到 EditView

(只是为了方便开发/测试)

16 回答

  • 6

    只需从任何地方复制,单击并按住模拟器手机的编辑文本,您希望文本移动(有点像您要按住以粘贴在实际手机上),将出现PASTE选项,然后是PASTE .

  • 1

    (将评论讨论转换为答案)

    只在Windows上的解决方案:https://github.com/gcb/AdbPaste

    写了几个小时来解决这个问题 . 我现在回到100%linux,所以随时加入它作为贡献者或维护者!

  • 0

    在终端中,键入 adb shell input text 'my string here. With some characters escaped like \$ that'

    请注意,在文本中包含空格的替代方法是将 %s 替换为每个 space 字符 .

  • 63

    不确定这是否有用,但是,如果您需要从桌面浏览器中获取长URL以便在移动设备中打开浏览器,您可以使用该URL发送短信并直接从消息应用程序打开 .

    enter image description here

  • 2

    可能有点棘手,但您可以使用模拟器控件将短信发送到模拟器 . 然后,如果文本较长,则不必重新键入所有文本,并且可以将其复制粘贴到模拟器中 .

    另一种方法:通过"telnet localhost PORT"连接到模拟器,然后使用硬件事件发送将文本输入事件发送到模拟器(需要是UTF-8) . 看this

  • 0

    使用Visual Studio模拟器,这是我的方法 .

    First Mound是一张虚拟SD卡:

    • 使用模拟器的附加工具(小>>图标),然后转到SD卡选项卡 .

    • 选择计算机上的文件夹以与虚拟SD卡同步 .

    • 从SD卡拉出,这将在所选文件夹上创建文件夹结构 .

    设置文本文件以传输文本:

    • 使用Google Play商店安装您选择的文字编辑器

    • 在您之前创建的虚拟SD卡目录的下载目录中创建一个包含计算机文本的文本文件 .

    每当我需要将文本发送到剪贴板时 .

    • 编辑上面创建的文本文件 .

    • 转到其他工具(小>>图标)并选择Push To SD Card .

    • 在我安装的文本编辑器中打开文本文件,然后将文本复制到剪贴板 . (对话框打开时按住鼠标,选择全选,然后单击复制图标)

    设置后很容易重复 . 相同的方法适用于其他模拟器,您可能需要使用不同的方法将文本文件推送到模拟器 .

  • 5

    在Linux上,这将直接从剪贴板粘贴文本

    adb shell input text "'$(xclip -selection c -o)'"
    

    使用此命令创建全局键盘快捷键非常有用,例如Ctrl Shift Super V.

  • 3

    我来到这里寻找同一问题的解决方案,并最终编写了一个Android应用程序来解决这个问题 . 你可以在http://www.box.net/shared/6203bn441bfltkimajmk下载它 . 只需通过“首选项”菜单提供一个URL,指向一个可以轻松更改Web响应的位置 . Web响应的第一行将被复制到您的模拟器剪贴板中 . 更多细节可以在http://agilesc.barryku.com/?p=255找到 .

  • 2

    制作了这个Windows应用程序,允许用户从可视界面将粘贴复制到Android模拟器或连接的设备 . https://github.com/Florin-Birgu/Android-Copy-Paste

    enter image description here

  • 1

    使用Android模拟器和x86 Google API模拟器系统的v25.3.x映像API级别19(Android 4.4 - Kitkat)及更高版本,您只需使用鼠标或键盘从桌面复制和粘贴即可 .

    此功能已于Android Studio 2.3公布

    Copy and Paste with the Android Emulator

  • 81

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

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

    然后,当您打开一个新的终端窗口时,键入“ap”会将剪贴板上的内容粘贴到模拟器的主动选定文本字段中 .

    设置

    只需将此添加到您的 Profiles 中(对于大多数用户来说, ~/.bash_profile 对于zsh用户来说是 ~/.zshrc ),以便在任何地方都可以使用别名 . 或者,如果您是bash用户(MacOS的默认设置),则可以在终端中运行以下命令为您设置:

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

    我通常通过telnet将要复制的文本作为短信发送,然后从短信中复制文本 . 这是如何做:

    通过telnet连接:

    • Syntax: telnet localhost <port>

    • Example: telnet localhost 5554

    (5554是默认端口 . 模拟器的 Headers 栏显示正在使用的端口,因此您可以看到它是否不同) .

    发信息:

    • Syntax: sms send <senders phone number> <message>

    • Example: sms send 1231231234 This is the message you want to send

    (你可以弥补发件人的电话号码)

    这对于链接非常有效,因为消息会自动转换为超链接,您可以单击该超链接而无需将其复制/粘贴到浏览器中 .

    模拟器收到消息后,您可以将其复制并粘贴到您喜欢的任何位置 .

  • 0

    写入命令:adb devices(它将列出当前连接的设备)选择要写入文本的文本框 . 写命令:adb shell输入文本“Yourtext”(确保只连接一个设备才能运行此命令)完成!

  • 1

    对于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 '将在模拟器文本字段中输入 .

    感谢Eliot为sed替换字符串 .

  • 273

    如果您在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'
    
  • 5

    你看过C2DM了吗? chrome2phone和fox2phone可以发送链接和剪贴板文本,并自动将其复制到手机上 . 另外,尝试使用adb shell . 有一个服务命令(/ system / bin / service)可以使用服务(服务调用剪贴板......) . 对于getClipboardText,setClipboardText和hasClipboardText,事务代码分别为1,2和3 .

相关问题