有一个简单的方法复制/粘贴(桌面的)剪贴板内容到EditView上的安卓模拟器?
(只是为了简化开发/测试)
有一个简单的方法复制/粘贴(桌面的)剪贴板内容到EditView上的安卓模拟器?
(只是为了简化开发/测试)
当前回答
如果你在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'
其他回答
实际上,在我的情况下,重新启动MacBook并使用这个命令运行模拟器解决了这个问题:
emulator -avd Pixel_5_API_31 -wipe-data
请记住,您应该使用您的模拟器设备,查看模拟器列表使用以下命令:
emulator -list-avds
有时模拟器的剪贴板与系统剪贴板不同步。这是一个bug。
但是您可以考虑在调试模式下更改变量值的能力:https://www.jetbrains.com/help/idea/tutorial-set-value.html#solution (Android Studio基于IntelliJ IDEA,所以我希望这个链接会有帮助)
如果你的应用程序从剪贴板读取文本,你可以改变这个文本的变量值,并越过你的文本
我通常通过telnet将我想复制的文本作为短信发送,然后从短信中复制文本。方法如下:
通过telnet连接:
telnet localhost <端口> 例如:telnet localhost 5554
(5554为默认端口。模拟器的标题栏显示了正在使用的端口,因此您可以看到它是否不同)。
发送信息:
文本格式:sms send <发件人电话号码> <消息> 示例:sms send 1231231234要发送的消息
(你可以编一个寄件人的电话号码)
这对于链接非常有效,因为消息会自动转换为一个超链接,你可以单击,而不必复制/粘贴到浏览器中。
一旦模拟器接收到消息,您就可以复制它并将其粘贴到任何您喜欢的地方。
不确定这是否有用,但是,如果你需要在移动浏览器中打开桌面浏览器的长URL,你可以用该URL发送短信,并直接从消息应用程序打开。
对于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替换字符串致敬。