Чи є простий спосіб скопіювати / вставити вміст буфера обміну (на робочому столі) в EditView
Android Emulator?
(лише заради полегшення розробки / тестування)
Чи є простий спосіб скопіювати / вставити вміст буфера обміну (на робочому столі) в EditView
Android Emulator?
(лише заради полегшення розробки / тестування)
Відповіді:
За допомогою v25.3.x Android Emulator & x86 Google API зображення Емулятор системи API Рівень 19 (Android 4.4 - Kitkat) та новіші версії ви можете просто скопіювати та вставити з робочого столу за допомогою миші чи клавіатури.
Ця функція була оголошена за допомогою Android Studio 2.3
~/.android/avd/
.ini
файлів?
У терміналі введіть adb shell input text 'my string here. With some characters escaped like \$ that'
Зауважте, що альтернативним методом включення пробілів у тексті є підміна %s
кожного space
символу.
adb shell input text "
pbpaste"
'ლ\(ಠ益ಠლ\)'
він просто говорить "Убитий" або, здається, успіх, і нічого не набирається, і я не маю нічого вставного в емуляторі. Метод SMS (я спробував у DDMS) навіть не працює тут, він відображається як "? (????)" :(
adb shell input text "This%sis%stext\nDoes%snot%work%here."
друкує "Це текст \ nНе працює тут."
Зазвичай я надсилаю текст, який хочу скопіювати у вигляді смс-повідомлення через telnet, а потім копіюю текст із смс-повідомлення. Ось як:
Підключення через 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
(Ви можете просто скласти номер телефону відправників)
Це дуже добре працює для посилань, оскільки повідомлення автоматично перетворюється у гіперпосилання, на яке можна натиснути, не копіюючи / вставляючи його у браузер.
Як тільки емулятор отримає повідомлення, ви можете скопіювати його та вставити куди завгодно.
adb
. Дивіться мою відповідь.
Просто скопіюйте звідки завгодно, натисніть і утримуйте текст редагування телефону емулятора, куди ви хочете, щоб текст перейшов (типу, як ви натискали б і утримували, щоб вставити на фактичний телефон), з'явиться параметр PASTE, а потім PASTE.
Не впевнений, що це корисно, але, якщо вам потрібна довга URL-адреса з браузера настільних пристроїв, щоб відкрити її в мобільному браузері, ви можете надіслати SMS з цією URL-адресою та відкрити безпосередньо з програми повідомлень.
Якщо ви використовуєте 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'
Я втомився від цієї проблеми, тому я просто зробив цей псевдонім, щоб впоратися з цим:
alias ap="pbpaste | xargs adb shell input text"
Потім, коли ви відкриєте нове вікно терміналу, набравши "ap", ви вставите все, що є у вашому буфері обміну, у активно вибране текстове поле емулятора.
Просто додайте це у свій профіль (для більшості користувачів, який ~/.bash_profile
призначений для zsh користувачів ~/.zshrc
), щоб псевдонім був доступний скрізь. Крім того, якщо ви баш-користувач (за замовчуванням для MacOS), ви можете запустити наступну команду в терміналі, щоб встановити її для вас:
echo "alias ap='pbpaste | xargs adb shell input text'" >> ~/.bash_profile && source ~/.bash_profile
alias ap="adb shell input text `pbpaste`"
'alias' is not recognized as an internal or external command, operable program or batch file.
що робити
Тільки для рівня API> = 24
Скопіюйте будь-який текст з локальної машини, а потім просто запустіть цю команду
adb shell input keyevent 279
Переконайтеся, що в Налаштуваннях Android-емулятора Enable Clipboard Sharing
включені параметри
можливо трохи складніше, але ви можете надіслати sms на емулятор, використовуючи керування емулятором. тоді вам не доведеться повторно вводити весь текст, якщо він довший, і ви зможете скопіювати і вставити його в емулятор.
інший спосіб: підключіться до емулятора через "telnet localhost PORT", а потім використовуйте апаратне посилання події для надсилання події введення тексту на емулятор (має бути UTF-8). подивіться на це
Ви можете це зробити і без обхідних шляхів. Просто натисніть і потримайте трохи в полі введення, доки не з’явиться повідомлення про вставку, а потім натисніть на вставити. Це воно!
У Linux це вставлення тексту безпосередньо з буфера обміну
adb shell input text "'$(xclip -selection c -o)'"
Також дуже корисно створити глобальний ярлик клавіатури за допомогою цієї команди, наприклад Ctrl+Shift+Super+V
Створено це додаток Windows, яке дозволяє користувачам копіювати пасту на емулятори Android або підключені пристрої з візуального інтерфейсу. https://github.com/Florin-Birgu/Android-Copy-Paste
Ви подивилися на C2DM? chrome2phone та fox2phone можуть надсилати посилання та текст буфера обміну та автоматично копіювати його на телефон. Також спробуйте скористатися оболонкою adb. Існує командна служба (/ system / bin / service), яка може використовувати сервіси (буфер обміну службових викликів ...). Коди транзакцій складають 1, 2 та 3 для getClipboardText, setClipboardText та hasClipboardText відповідно.
Використання емулятора Visual Studio, ось мій метод.
First Mound віртуальна SD карта:
Налаштуйте текстовий файл для передачі тексту:
Щоразу, коли мені потрібно надсилати текст на дошку кліпів.
Після встановлення це досить легко повторити. Цей же спосіб застосовний до інших емуляторів, можливо, вам доведеться використовувати інший метод, щоб підштовхнути ваш текстовий файл до емулятора.
(перетворення обговорення коментаря у відповідь)
єдине рішення для Windows: https://github.com/gcb/AdbPaste
написав це за пару годин, щоб вирішити цю проблему. Зараз я повернувся на 100% Linux, тому не соромтесь приєднатися до нього як дописувач або підтримуючий!
Я прийшов сюди шукати рішення тієї самої проблеми і закінчив писати додаток для 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.