Подтвердить что ты не робот

Вставка в Genymotion Android Emulator

Есть ли способ скопировать и вставить извне VM в эмулятор Genymotion?

4b9b3361

Ответ 1

Скопировать/вставить текст с хоста в виртуальное устройство можно, так как версия 2.1.0. (Обратите внимание, что просто обновления Genymotion не хватает, вам также необходимо воссоздать виртуальное устройство после обновления до версии 2.1.0 или выше.)

Вставка может выполняться с помощью длинного нажатия/щелчка + PASTE на виртуальном устройстве.

Ответ 2

Так как Genymotion не поддерживает это действие (даже если вы открываете VirtualBox, настройки для своей виртуальной машины и устанавливаете Shared Clipboard, он по-прежнему не работает с Genymotion 2.0.3, который я использую)

Итак, я использую альтернативный способ, если ваш текст не секрет, вы можете использовать онлайн-заметку, например http://shrib.com/

Вставьте свой текст там, затем откройте ссылку на Android VM, скопируйте его и вставьте в нужное место. Сделайте несколько шагов, но если вы не хотите вводить длинный текст (например, мой, длинный SQL)

Ответ 3

Если ваша версия Genymotion поддерживает копирование/вставку, вы можете использовать меню + C и меню + V для копирования/вставки (клавиша меню обычно находится между Alt и Ctrl и действует как щелчок правой кнопкой мыши).

Ответ 4

У меня была аналогичная потребность некоторое время назад. Мое решение заключалось в том, чтобы написать быстрое приложение, которое прослушивает порт UDP и выгружает все, что входит в этот порт, в SMS (текстовое) сообщение. Затем с главной машины я отправил ее с netcat из оболочки.

Код приложения прослушивателя 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();
        }
        }
    }
}

Запустите этот поток в приложении (например, вы можете использовать по умолчанию привет-мир); Затем, чтобы отправить текстовое сообщение, запустите netcat с параметром -u для UDP:

echo "my message" | nc -u 192.168.56.101 4444

Не забудьте использовать свой IP-адрес genymotion здесь.

Я также сделал еще один шаг и создал python script, который захватывает данные из системного буфера обмена и выгружает его из UDP-порта. Это также может быть полезно, особенно если вы хотите отправить текст не-ascii или что-то в этом роде (в моем случае мне нужно было отправить японские символы и настроить оболочку Windows, чтобы отобразить символы, которые оказались подвигом, которого я не хочу на слабое сердце.)

Во всяком случае, здесь script. Выгрузите его в файл .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.

Ответ 5

длинный коснуться правой нижней части мыши и отпустить, затем вы можете вставить