Czy istnieje prosty sposób na kopiowanie / wklejanie zawartości schowka na komputer EditView
na emulatorze Androida?
(tylko dla ułatwienia rozwoju / testowania)
Czy istnieje prosty sposób na kopiowanie / wklejanie zawartości schowka na komputer EditView
na emulatorze Androida?
(tylko dla ułatwienia rozwoju / testowania)
Odpowiedzi:
W wersji 25.3.x emulatora Androida i emulatora interfejsu API Google API x86 API Poziom 19 (Android 4.4 - Kitkat) i wyższy, możesz po prostu kopiować i wklejać z pulpitu za pomocą myszy lub klawiatury.
Ta funkcja została ogłoszona wraz z Android Studio 2.3
~/.android/avd/
.ini
plików?
W terminalu wpisz adb shell input text 'my string here. With some characters escaped like \$ that'
Zauważ, że alternatywną metodą umieszczania spacji w tekście jest zastąpienie %s
każdego space
znaku.
adb shell input text "
pbpaste"
'ლ\(ಠ益ಠლ\)'
mówi tylko „Zabity” lub wydaje się, że się udaje i nic nie jest wpisywane, ani też nie mam nic do wklejenia w emulatorze. Metoda SMS (próbowałem z DDMS) nawet nie działa tutaj, wyświetla się jako „? (????)” :(
adb shell input text "This%sis%stext\nDoes%snot%work%here."
drukuje „To jest tekst \ nNie działa tutaj.”.
Zazwyczaj wysyłam tekst, który chcę skopiować jako wiadomość SMS, przez telnet, a następnie kopiuję tekst z wiadomości SMS. Oto jak:
Połącz przez telnet:
telnet localhost <port>
telnet localhost 5554
(Domyślnym portem jest 5554. Pasek tytułu emulatora pokazuje używany port, dzięki czemu można sprawdzić, czy jest inny).
Wyślij wiadomość:
sms send <senders phone number> <message>
sms send 1231231234 This is the message you want to send
(Możesz po prostu uzupełnić numer telefonu nadawcy)
Działa to bardzo dobrze w przypadku linków, ponieważ wiadomość jest automatycznie przekształcana w hiperłącze, które można kliknąć bez konieczności kopiowania / wklejania go do przeglądarki.
Gdy emulator odbierze wiadomość, możesz ją skopiować i wkleić w dowolnym miejscu.
adb
. Zobacz moją odpowiedź.
Po prostu skopiuj z dowolnego miejsca, kliknij i przytrzymaj tekst edycji telefonu emulatora w miejscu, w którym chcesz go przenieść (tak jakbyś nacisnął i przytrzymał, aby wkleić na prawdziwym telefonie), pojawi się opcja WKLEJ, a następnie WKLEJ.
Nie jestem pewien, czy jest to przydatne, ale jeśli potrzebujesz długiego adresu URL z przeglądarki na komputerze, aby otworzyć go w przeglądarce mobilnej, możesz wysłać SMS z tym adresem URL i otworzyć bezpośrednio z aplikacji wiadomości.
Jeśli używasz Android Studio na komputerze Mac, może być konieczne podanie pełnej ścieżki do adb
pliku wykonywalnego. Aby znaleźć tę ścieżkę, otwórz:
Android Studio > Tools > Android > SDK Manager
Skopiuj ścieżkę do lokalizacji SDK. Plik adb
wykonywalny będzie w platform-tools
katalogu. Dla mnie była to ścieżka:
~/Library/Android/sdk/platform-tools/adb
Teraz możesz uruchomić to polecenie:
~/Library/Android/sdk/platform-tools/adb shell input text 'thetextyouwanttopaste'
Mam już dość tego problemu, więc stworzyłem ten alias, aby go rozwiązać:
alias ap="pbpaste | xargs adb shell input text"
Następnie, gdy otworzysz nowe okno terminala, wpisanie „ap” spowoduje wklejenie wszystkiego, co jest w schowku, do aktywnie wybranego pola tekstowego emulatora.
Po prostu dodaj to do swojego profilu (dla większości użytkowników, którzy są ~/.bash_profile
dla użytkowników zsh, którzy ~/.zshrc
), aby alias był dostępny wszędzie. Alternatywnie, jeśli jesteś użytkownikiem bash (domyślnym dla MacOS), możesz uruchomić następujące polecenie w terminalu, aby go skonfigurować:
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.
co robić
Tylko dla poziomu API> = 24
Skopiuj dowolny tekst z komputera lokalnego, a następnie po prostu uruchom to polecenie
adb shell input keyevent 279
Upewnij się, że w Ustawieniach emulatora Androida Enable Clipboard Sharing
opcje są włączone
może trochę trudne, ale możesz wysłać SMS-a do emulatora za pomocą kontrolki emulatora. to nie musisz ponownie wpisywać całego tekstu, jeśli jest dłuższy i możesz skopiować i wkleić go w emulatorze.
inny sposób: połącz się z emulatorem za pomocą „telnet localhost PORT”, a następnie użyj wysyłania zdarzeń sprzętowych, aby wysłać zdarzenie wprowadzania tekstu do emulatora (musi to być UTF-8). spójrz na to
Możesz to zrobić również bez obejść. Po prostu kliknij i przytrzymaj przez chwilę pole wprowadzania, aż pojawi się powiadomienie o wklejeniu, a następnie kliknij wklej. Otóż to!
W systemie Linux spowoduje to wklejenie tekstu bezpośrednio ze schowka
adb shell input text "'$(xclip -selection c -o)'"
Również bardzo przydatne jest na przykład utworzenie globalnego skrótu klawiaturowego za pomocą tego polecenia Ctrl+Shift+Super+V
Wykonano tę aplikację Windows, która pozwala użytkownikom kopiować wklej do emulatorów Androida lub podłączonych urządzeń z interfejsu wizualnego. https://github.com/Florin-Birgu/Android-Copy-Paste
Czy spojrzałeś na C2DM? chrome2phone i fox2phone mogą wysyłać linki i tekst ze schowka oraz automatycznie kopiować je na telefon. Spróbuj także użyć powłoki adb. Istnieje polecenie serwisowe (/ system / bin / service), które może korzystać z usług (schowek zgłoszeń serwisowych ...). Kody transakcji to 1, 2 i 3 odpowiednio dla getClipboardText, setClipboardText i hasClipboardText.
Używając emulatora Visual Studio, oto moja metoda.
First Mound wirtualna karta SD:
Skonfiguruj plik tekstowy do przesyłania tekstu:
Ilekroć muszę wysłać tekst do schowka.
Po skonfigurowaniu dość łatwo to powtórzyć. Ta sama metoda byłaby stosowana w przypadku innych emulatorów, dlatego może być konieczne użycie innej metody w celu wypchnięcia pliku tekstowego do emulatora.
(konwersja komentarza do odpowiedzi)
tylko rozwiązanie w systemie Windows: https://github.com/gcb/AdbPaste
napisałem to w ciągu kilku godzin, aby obejść ten problem. Wróciłem w 100% do Linuksa, więc dołącz do niego jako współpracownik lub opiekun!
Polecenie zapisu: urządzenia adb (wyświetli listę urządzeń aktualnie podłączonych) Wybierz pole tekstowe, w którym chcesz pisać tekst. Napisz polecenie: tekst wejściowy powłoki adb „Yourtext” (upewnij się, że tylko jedno urządzenie jest podłączone, aby uruchomić to polecenie) Gotowe!
Przybyłem tutaj, szukając rozwiązania tego samego problemu, i ostatecznie napisałem aplikację na Androida, aby rozwiązać ten problem. Możesz go pobrać ze strony http://www.box.net/shared/6203bn441bfltkimajmk . Wystarczy podać adres URL za pomocą menu Preferencje, aby wskazać miejsce, w którym można łatwo zmienić odpowiedź internetową. Pierwszy wiersz odpowiedzi internetowej zostanie dla Ciebie skopiowany do schowka emulatora. Więcej informacji można znaleźć na stronie http://agilesc.barryku.com/?p=255 .
W systemach Mac i Linux wypróbuj tę funkcję w pliku aliases_bash (znajduje się w pliku / etc / aliases_bash dla komputerów Mac, pamiętaj o użyciu sudo vim / etc / aliases_bash)
function adbtx {
userinput="$(sed 's/ /%s/g' <<< $1)"
adb shell input text "${userinput}";
}
export -f adbtx
Następnie w wierszu polecenia wprowadź:
adbtx 'Your text to emulator input'
„ Twój tekst na wejściu emulatora ” zostanie wpisany w polu tekstowym emulatora.
Uznanie dla Eliota za ciąg zamiany na sed.