Есть ли простой способ скопировать/вставить содержимое буфера обмена (рабочего стола) в EditView
на эмуляторе Android?
(просто для облегчения разработки/тестирования)
Есть ли простой способ скопировать/вставить содержимое буфера обмена (рабочего стола) в EditView
на эмуляторе Android?
(просто для облегчения разработки/тестирования)
С v25.3.x эмулятора Android и x86 API Google API Emulator API уровня 19 (Android 4.4 - Kitkat) и выше вы можете просто скопировать и вставить с рабочего стола с помощью мыши или клавиатуры.
Эта функция была анонсирована Android Studio 2.3
В терминале введите adb shell input text 'my string here. With some characters escaped like \$ that'
Обратите внимание, что альтернативный метод для включения пробелов в текст должен подставлять %s
для каждого символа space
.
Обычно я отправляю текст, который хочу скопировать в виде сообщения sms через telnet, а затем скопируйте текст из сообщения sms. Вот как:
Подключение через telnet:
telnet localhost <port>
telnet localhost 5554
(5554 - порт по умолчанию. Строка заголовка эмулятора показывает используемый порт, поэтому вы можете видеть, отличается ли он).
Отправить сообщение:
sms send <senders phone number> <message>
sms send 1231231234 This is the message you want to send
(Вы можете просто составить номер телефона отправителей)
Это хорошо работает для ссылок, поскольку сообщение автоматически преобразуется в гиперссылку, которую вы можете щелкнуть, без необходимости ее скопировать/вставить в браузер.
После того, как эмулятор получит сообщение, вы можете его скопировать и вставить туда, где хотите.
Не уверен, что это полезно, но, если вам нужно открыть длинный URL-адрес из браузера на рабочем столе в мобильном браузере, вы можете отправить SMS с этим URL-адресом и открыть прямо из приложения сообщений.
Просто скопируйте, где бы вы ни находились, щелкните и удерживайте текст редактирования телефона эмулятора, куда вы хотите, чтобы текст шел (вроде как вы нажимали бы и удерживали, чтобы вставить на фактический телефон), появится опция PASTE, затем PASTE.
Если вы используете Android Studio на Mac, вам может потребоваться предоставить полный путь к исполняемому файлу 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'
может быть немного сложнее, но вы можете отправить sms в эмулятор с помощью элемента управления эмулятора. то вам не нужно повторно указывать весь текст, если он длиннее и может скопировать его в эмулятор.
другой способ: подключиться к эмулятору через "telnet localhost PORT" а затем использовать передачу аппаратного события для отправки события ввода текста в эмулятор (должен быть UTF-8). посмотрите this
В Linux это вставляет текст непосредственно из буфера обмена
adb shell input text "'$(xclip -selection c -o)'"
Также очень полезно создать глобальную клавиатуру с этой командой, например Ctrl+Shift+Super+V
Вы можете сделать это без обходных путей тоже. Просто нажмите и удерживайте немного в поле ввода, пока не появится уведомление о вставке, а затем нажмите на вставку. Это!
Вы посмотрели на C2DM? chrome2phone и fox2phone могут отправлять ссылки и текст буфера обмена и автоматически копировать их на телефоне. Также попробуйте использовать оболочку adb. Там есть служебная команда (/system/bin/service), которая может использовать службы (буфера обмена вызовами службы...). Коды транзакций: 1, 2 и 3, для getClipboardText, setClipboardText и hasClipboardText соответственно.
Я устал от этой проблемы, поэтому я просто применил этот псевдоним:
alias ap="pbpaste | xargs adb shell input text"
Затем, когда вы открываете новое окно терминала, ввод "ap" вставляет все, что находится в вашем буфере обмена, в активное текстовое поле, которое было выбрано эмулятором.
Просто добавьте это в свой профиль (для большинства пользователей, которые ~/.bash_profile
для пользователей zsh, которые ~/.zshrc
), чтобы сделать псевдоним доступным везде. В качестве альтернативы, если вы являетесь пользователем bash (по умолчанию для MacOS), вы можете запустить следующую команду в терминале, чтобы настроить его для вас:
echo "alias ap='pbpaste | xargs adb shell input text'" >> ~/.bash_profile && source ~/.bash_profile
Использование эмулятора Visual Studio, здесь мой метод.
Первый курган - виртуальная SD-карта:
Настройте текстовый файл для передачи текста:
Всякий раз, когда мне нужно отправлять текст на плату клипа.
После настройки его довольно легко повторить. Тот же метод применим и к другим эмуляторам, вам может понадобиться использовать другой метод для подталкивания вашего текстового файла к эмулятору.
(преобразование обсуждения комментариев для ответа)
только для окон: https://github.com/gcb/AdbPaste
написал это через пару часов, чтобы обойти эту проблему. Я вернусь на 100% linux, поэтому не стесняйтесь присоединяться к нему в качестве вкладчика или сопровождающего!
Команда записи: устройства adb (он будет отображать подключенное устройство) Выберите "Текстовое поле", в котором вы хотите написать текст. Команда записи: текст ввода оболочки adb "Yourtext" (убедитесь, что для запуска этой команды подключено только одно устройство) Готово!
Сделано это приложение Windows, которое позволяет пользователям копировать вставку в эмуляторы Android или подключенные устройства из визуального интерфейса. https://github.com/Florin-Birgu/Android-Copy-Paste
Я пришел сюда, чтобы найти решение той же проблемы, и в итоге написал приложение для Android, чтобы решить эту проблему. Вы можете скачать его на http://www.box.net/shared/6203bn441bfltkimajmk. Просто укажите URL-адрес в меню "Настройки", чтобы указать на место, где вы можете легко изменить ответ в Интернете. Первая строка веб-ответа будет скопирована в буфер обмена эмулятора для вас. Более подробную информацию можно найти на http://agilesc.barryku.com/?p=255.
Для 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'
' Ваш текст для ввода эмулятора' будет введен в текстовое поле эмулятора.
Престижность для Элиота для его строки подстановки для sed.
Только для уровня API> = 24
Скопируйте любой текст с вашего локального компьютера, а затем просто запустите эту команду
adb shell input keyevent 279
Убедитесь, что в настройках эмулятора Android включены параметры " Enable Clipboard Sharing
к Enable Clipboard Sharing