粘贴到Genymotion Android模拟器

有什么方法可以从VM外部复制并粘贴到Genymotion模拟器中?

从版本2.1.0开始,可以将主机中的文本复制/粘贴到虚拟设备中。 (请注意,只需更新Genymotion并不足够,您还必须在更新到2.1.0或更高版本后重新创build虚拟设备。)

通过长时间点击/点击+ PASTE在虚拟设备上进行PASTE

由于Genymotion不支持此操作(即使您打开VirtualBox,设置虚拟机并设置共享剪贴板,它仍然不能与我使用的Genymotion 2.0.3一起使用)

所以,我使用另一种方式,如果你的文本不是秘密的,你可以使用像http://shrib.com/这样的在线笔记。;

在那里粘贴文字,然后在Android VM上打开链接,复制并粘贴到你想要的地方。 采取几个步骤,但如果你不想input一个长文本(像我的,是一个长期的SQL)

如果您的Genymotion版本支持复制/粘贴,则可以使用菜单+ C和菜单+ V进行复制/粘贴(菜单键通常在Alt和Ctrl之间,并用作鼠标右键单击)。

我以前有类似的需求。 我的解决scheme是编写一个快速的应用程序,在UDP端口上侦听,并将该端口上的任何内容转储到SMS(文本)消息。 然后从主机发送它与netcat从shell。

UDP侦听器应用程序代码:

 package com.example.messagemyself; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException; import android.app.Service; import android.content.ContentValues; import android.net.Uri; import android.util.Log; public class GetUDPData extends Thread { private static final String TAG = "GetUDPData"; private DatagramSocket datagramSocket; private DatagramPacket packet; boolean running = true; Service srv; public GetUDPData(Service s) { srv = s; } public void done() { datagramSocket.close(); running = false; } @Override public void run() { try { datagramSocket = new DatagramSocket(4444); datagramSocket.setSoTimeout(0); byte[] buffer = new byte[1024]; packet = new DatagramPacket(buffer, buffer.length); } catch (SocketException e) { e.printStackTrace(); } while(running) { try { Log.d(TAG,"Receiving"); datagramSocket.receive(packet); String message = new String(packet.getData(),0,packet.getLength()); Log.d(TAG,"Received "+message); ContentValues values = new ContentValues(); values.put("address", "12345"); values.put("body", message); // Post to SMS inbox srv.getContentResolver().insert(Uri.parse("content://sms/inbox"), values); } catch (Exception e) { e.printStackTrace(); } } } } 

在应用程序中运行此线程(例如,可以使用默认的“hello-world”)。 然后发送你的短信,使用UDP的-u选项运行netcat:

 echo "my message" | nc -u 192.168.56.101 4444 

不要忘记在这里使用你的genymotion的IP地址。

我还走了一步,创build了一个python脚本,从系统剪贴板抓取数据并将其转储出UDP端口。 这可能也是有用的,特别是如果你想发送非ASCII文本或什么东西(在我的情况下,我需要发送日文字符,并设置Windows壳来显示字符竟然是一个壮举,我不希望在昏厥之后。)

无论如何,这是剧本。 将其转储到.py文件中,然后双击它将剪贴板的内容发送到UDP套接字。

 from Tkinter import Tk r = Tk() datatosend = r.selection_get(selection = "CLIPBOARD") r.destroy() import time import socket UDP_IP = "192.168.56.101" UDP_PORT = 4444 print "sending SMS: %s"%datatosend sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # UDP sock.sendto(datatosend, (UDP_IP, UDP_PORT)) time.sleep(3) # The sleep is not necessary, but I like it since you can see the # message for a bit before the shell exits. 

长按鼠标右键并释放,然后你可以粘贴