Вставить текст в эмулятор Android
есть ли в любом случае копировать/вставлять содержимое буфера обмена (рабочего стола) в EditView
на эмуляторе Android?
(только ради облегчения разработки/тестирования)
16 ответов
с V25 совместно.3.x эмулятора Android & x86 Google API Emulator system images 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 и открыть непосредственно из приложения сообщений.
может быть, немного сложно, но вы можете отправить sms в эмулятор с помощью элемента управления эмулятором. тогда вам не придется перепечатывать весь текст, если он длиннее, а можно скопировать-вставить его в эмулятор.
другой способ: подключение к эмулятору через " telnet localhost PORT" а затем используйте аппаратную отправку событий для отправки события ввода текста в эмулятор (должен быть UTF-8). посмотреть этой
просто скопируйте откуда угодно, нажмите и удерживайте текст редактирования телефона эмулятора, куда вы хотите, чтобы текст пошел (вроде того, как вы нажмете и удерживайте, чтобы вставить на фактический телефон), появится опция вставки, а затем вставить.
если вы используете Android Studio на Mac, вам может потребоваться указать полный путь к adb
исполняемый файл. Чтобы найти этот путь, откройте:
Android Studio > Tools > Android > SDK Manager
скопируйте путь к местоположению SDK. The adb
исполняемый файл будет в пределах
в Linux это будет вставлять текст непосредственно из буфера обмена
adb shell input text "'$(xclip -selection c -o)'"
также очень полезно создать глобальную клавиатуру shortkey с помощью этой команды, например 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-карта:
- используйте дополнительные инструменты (маленький значок>>) для эмулятора и перейдите к вкладка SD-карта.
- выбрать папку на компьютере для синхронизации с виртуальную SD-карту.
- потяните с SD-карты, которая создаст структуру папок на выбранной папке.
настройка текстового файла для передачи текста:
- Использовать Google Play Store, чтобы установить текстовый редактор по вашему выбору
- создайте текстовый файл, содержащий текст на вашем компьютере, в каталоге загрузки каталога виртуальной sd-карты, созданного ранее.
всякий раз, когда мне нужно отправить текст на клипборд.
- редактировать текстовый файл, созданный выше.
- перейдите к дополнительным инструментам (маленький значок>>) и выберите Push to SD Card.
- откройте текстовый файл в текстовом редакторе, который я установил, и скопируйте текст на клипборд. (Удерживайте нажатой кнопку мыши, когда откроется диалоговое окно, выберите Выбрать все, а затем щелкните значок копировать)
после настройки его довольно легко повторить. Тот же метод будет применим к другим эмуляторам, вам может потребоваться использовать другой метод для отправки Вашего текстового файла в эмулятор.
(преобразование обсуждения комментариев в ответ)
только решение для windows:https://github.com/gcb/AdbPaste
написал ее за пару часов чтобы обойти эту проблему. Теперь я вернулся на 100% linux, поэтому не стесняйтесь присоединиться к нему в качестве участника или сопровождающего!
Write command: adb devices (он будет перечислять устройство, подключенное в настоящее время) Выберите текстовое поле, в котором вы хотите написать текст. Команда Write: входной текст оболочки adb "Yourtext" (убедитесь, что для выполнения этой команды подключено только одно устройство) Готово!
Я пришел сюда в поисках решения той же проблемы, и в итоге написав приложение для Android, чтобы решить эту проблему. Вы можете скачать его по адресуhttp://www.box.net/shared/6203bn441bfltkimajmk. Просто дайте URL через меню настроек, чтобы указать место, где вы можете легко изменить веб-ответ. Первая строка веб-ответа будет скопирована в буфер обмена вашего эмулятора. Более подробную информацию можно найти на http://agilesc.barryku.com/?p=255.
для Mac и Linux попробуйте эту функцию в файле aliases_bash (расположенном в /etc / aliases_bash для Mac folks, обязательно используйте судо vim/etc / aliases_bash)
function adbtx {
userinput="$(sed 's/ /%s/g' <<< )"
adb shell input text "${userinput}";
}
export -f adbtx
затем в командной строке введите:
adbtx 'Your text to emulator input'
'ввод текста в эмулятор ' будет введен в текстовое поле эмулятора.
Слава Элиоту за его строку замены для sed.
сделал это приложение для Windows, которое позволяет пользователям копировать пасту на эмуляторы Android или подключенные устройства из визуального интерфейса. https://github.com/Florin-Birgu/Android-Copy-Paste