Вставка в эмулятор Android Genymotion

Есть ли способ скопировать и вставить из-за пределов виртуальной машины в эмулятор Genymotion?


person bgcode    schedule 02.12.2013    source источник


Ответы (6)


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

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

person Daniel K    schedule 01.06.2014
comment
Извините, у меня нет Mac, поэтому кто-то другой должен это прокомментировать. Единственное, что я могу сказать, это то, что после того, как я использовал функцию копирования/вставки в течение более длительного времени, я сталкивался с ситуациями, когда она внезапно перестала работать, и мне пришлось сначала перезагрузить эмулятор (вероятно, потому что соединение adb было потеряно). ). - person Daniel K; 27.08.2014
comment
У меня есть Mac с Yosemite, и у меня он отлично работал на Genymotion v2.3.1. - person adamdport; 24.12.2014
comment
Есть ли способ скопировать/вставить с помощью сочетания клавиш? Как обычные горячие клавиши Cmd+C/Cmd+V. - person HitOdessit; 27.10.2015
comment
В настоящее время у меня не настроен Genymotion, но IIRC Ctrl/Cmd+C работает, чтобы поместить текст в буфер обмена, но Ctrl/Cmd+V не работает, вместо этого вам нужно выполнить долгое нажатие. Вы также можете попробовать предложенную горячую клавишу из ответа ниже. - person Daniel K; 27.10.2015
comment
привет, интерфейс genymotion очень медленный, как я могу сделать его плавным? - person MonsterMMORPG; 23.04.2016
comment
На Mac вам, возможно, придется щелкнуть небольшой виджет выбора, который появляется после долгого нажатия, чтобы появилась опция «ВСТАВИТЬ». - person Aralox; 07.09.2017

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

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

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

person Casper Ngo    schedule 23.12.2013

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

person user3764420    schedule 22.06.2014

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

person Anouar BEN ZAHRA    schedule 29.09.2017

EDIT: это решение больше не нужно (копирование-вставка не работало у меня еще в 2013 году, но работает сейчас).

У меня была аналогичная потребность некоторое время назад. Мое решение состояло в том, чтобы написать быстрое приложение, которое прослушивает порт 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, который берет данные из системного буфера обмена и выгружает их через 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.
person thayne    schedule 13.01.2014

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

person Mohammed Fathi    schedule 24.04.2020