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

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


当前回答

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

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

其他回答

有时模拟器的剪贴板与系统剪贴板不同步。这是一个bug。

但是您可以考虑在调试模式下更改变量值的能力:https://www.jetbrains.com/help/idea/tutorial-set-value.html#solution (Android Studio基于IntelliJ IDEA,所以我希望这个链接会有帮助)

如果你的应用程序从剪贴板读取文本,你可以改变这个文本的变量值,并越过你的文本

在终端中,输入adb shell input text 'my string here。使用一些转义字符,比如\$ that'

注意,在文本中包含空格的另一种方法是将每个空格字符替换为%s。

如果你在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'

对于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替换字符串致敬。

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