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

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


当前回答

我来这里是为了寻找同样问题的解决方案,最后写了一个Android应用程序来解决这个问题。你可以在http://www.box.net/shared/6203bn441bfltkimajmk上下载。只需通过首选项菜单提供一个URL,指向一个可以轻松更改Web响应的地方。Web响应的第一行将为您复制到模拟器的剪贴板。更多详情请访问http://agilesc.barryku.com/?p=255。

其他回答

我的情况是,我的模拟器粘贴了我几天前复制的一些东西,而从未将最后一个东西粘贴到我笔记本电脑的当前剪贴板中。

为了解决这个问题,我让我的模拟器从冷启动而不是快速启动。

如果你在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”将把剪贴板上的任何内容粘贴到模拟器主动选择的文本字段中。

设置

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

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

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

唯一解决方案在windows: https://github.com/gcb/AdbPaste

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

对于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'将在emulator text字段中输入。

向Eliot的sed替换字符串致敬。