Esiste un modo semplice per copiare / incollare il contenuto degli appunti (desktop) EditView
su Emulatore Android?
(solo per facilitare lo sviluppo / test)
Esiste un modo semplice per copiare / incollare il contenuto degli appunti (desktop) EditView
su Emulatore Android?
(solo per facilitare lo sviluppo / test)
Risposte:
Con la v25.3.x dell'emulatore Android e le immagini di sistema dell'emulatore API Google x86 API Level 19 (Android 4.4 - Kitkat) e versioni successive, puoi semplicemente copiare e incollare dal desktop con il mouse o la tastiera.
Questa funzione è stata annunciata con Android Studio 2.3
~/.android/avd/
.ini
file?
In un terminale, digitare adb shell input text 'my string here. With some characters escaped like \$ that'
Si noti che un metodo alternativo per includere spazi nel testo è sostituire %s
ogni space
carattere.
adb shell input text "
pbpaste"
'ლ\(ಠ益ಠლ\)'
, dice semplicemente "Ucciso" o sembra avere successo e non viene digitato nulla, né ho qualcosa di incollabile nell'emulatore. Il metodo SMS (ho provato da DDMS) non sembra nemmeno funzionare qui, viene visualizzato come "? (????)" :(
adb shell input text "This%sis%stext\nDoes%snot%work%here."
stampa "Questo è testo \ nNon funziona qui.".
Di solito invio il testo che voglio copiare come messaggio sms tramite telnet e quindi copio il testo dal messaggio sms. Ecco come:
Connetti tramite telnet:
telnet localhost <port>
telnet localhost 5554
(5554 è la porta predefinita. La barra del titolo dell'emulatore mostra la porta utilizzata, quindi puoi vedere se è diversa).
Invia messaggio:
sms send <senders phone number> <message>
sms send 1231231234 This is the message you want to send
(Puoi semplicemente inventare il numero di telefono dei mittenti)
Funziona davvero bene per i collegamenti poiché il messaggio viene automaticamente convertito in un collegamento ipertestuale su cui è possibile fare clic senza doverlo copiare / incollare nel browser.
Una volta che l'emulatore riceve il messaggio, puoi copiarlo e incollarlo dove preferisci.
adb
. Vedi la mia risposta
Basta copiare ovunque, fare clic e tenere premuto il testo di modifica del telefono dell'emulatore nel punto in cui si desidera che il testo vada (tipo di come si preme e si tiene premuto per incollare su un telefono reale), apparirà l'opzione PASTE, quindi PASTE.
Non sono sicuro che sia utile, ma, se hai bisogno di un URL lungo dal browser desktop per essere aperto nel browser mobile, puoi inviare SMS con quell'URL e aprirlo direttamente dall'app dei messaggi.
Se si utilizza Android Studio su un Mac, potrebbe essere necessario fornire il percorso completo adb
dell'eseguibile. Per trovare questo percorso, apri:
Android Studio > Tools > Android > SDK Manager
Copia il percorso nella posizione dell'SDK. L' adb
eseguibile sarà all'interno di una platform-tools
directory. Per me, questo era il percorso:
~/Library/Android/sdk/platform-tools/adb
Ora puoi eseguire questo comando:
~/Library/Android/sdk/platform-tools/adb shell input text 'thetextyouwanttopaste'
Mi sono stancato di questo problema, quindi ho appena creato questo alias per gestirlo:
alias ap="pbpaste | xargs adb shell input text"
Quindi quando apri una nuova finestra del terminale, digitando "ap" incollerai tutto ciò che è negli Appunti nel campo di testo attivo dell'emulatore.
Aggiungilo semplicemente al tuo profilo (per la maggior parte degli utenti che è ~/.bash_profile
per gli utenti zsh ~/.zshrc
) per rendere l'alias disponibile ovunque. In alternativa, se sei un utente bash (predefinito per MacOS), puoi eseguire il seguente comando nel terminale per configurarlo per te:
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.
cosa fare
Solo per livello API> = 24
Copia qualsiasi testo dal tuo computer locale e quindi esegui semplicemente questo comando
adb shell input keyevent 279
Assicurati che nelle Impostazioni dell'emulatore Android le Enable Clipboard Sharing
opzioni siano abilitate
forse un po 'complicato, ma potresti inviare un sms all'emulatore usando il controllo dell'emulatore. quindi non è necessario riscrivere tutto il testo se è più lungo e può copiarlo e incollarlo nell'emulatore.
un altro modo: connettersi all'emulatore tramite "telnet localhost PORT" e quindi utilizzare l'invio di eventi hardware per inviare un evento di input di testo all'emulatore (deve essere UTF-8). guarda questo
Puoi farlo anche senza soluzioni alternative. Basta fare clic e tenere premuto per un po 'nel campo di input fino a quando appare la notifica incolla e quindi fare clic su Incolla. Questo è tutto!
Su Linux questo incollerà il testo direttamente dagli appunti
adb shell input text "'$(xclip -selection c -o)'"
Inoltre è molto utile creare una scorciatoia da tastiera globale con questo comando, ad esempio Ctrl+Shift+Super+V
Realizzata questa applicazione Windows che consente agli utenti di copiare incolla su emulatori Android o dispositivi collegati da un'interfaccia visiva. https://github.com/Florin-Birgu/Android-Copy-Paste
Hai visto C2DM? chrome2phone e fox2phone possono inviare collegamenti e testo negli Appunti e copiarlo automaticamente sul telefono. Inoltre, prova a utilizzare la shell adb. C'è un comando di servizio (/ system / bin / service) che può usare i servizi (appunti di chiamata di servizio ...). I codici di transazione sono 1, 2 e 3, rispettivamente per getClipboardText, setClipboardText e hasClipboardText.
Utilizzando Visual Studio Emulator, ecco il mio metodo.
Primo Mound una scheda SD virtuale:
Imposta un file di testo per trasferire il testo:
Ogni volta che devo inviare del testo agli appunti.
Una volta installato, è abbastanza facile da ripetere. Lo stesso metodo sarebbe applicabile ad altri emulatori in quanto potrebbe essere necessario utilizzare un metodo diverso per inviare il file di testo all'emulatore.
(conversione della discussione di commento in risposta)
unica soluzione su Windows: https://github.com/gcb/AdbPaste
l'ho scritto in un paio d'ore per aggirare questo problema. Ora sono tornato su Linux al 100%, quindi sentiti libero di unirti come collaboratore o manutentore!
Comando di scrittura: dispositivi adb (elencherà il dispositivo attualmente connesso) Selezionare Casella di testo in cui si desidera scrivere il testo. Scrivi comando: adb shell input text "Yourtext" (assicurati che solo un dispositivo sia collegato per eseguire questo comando) Fatto!
Sono venuto qui alla ricerca di una soluzione allo stesso problema e ho finito per scrivere un'applicazione Android per risolvere questo problema. Puoi scaricarlo da http://www.box.net/shared/6203bn441bfltkimajmk . Basta dare un URL tramite il menu Preferenze per indicare un luogo in cui è possibile modificare facilmente la risposta Web. La prima riga della risposta Web verrà copiata negli appunti dell'emulatore per te. Maggiori dettagli sono disponibili all'indirizzo http://agilesc.barryku.com/?p=255 .
Per Mac e Linux prova questa funzione nel tuo file aliases_bash (che si trova in / etc / aliases_bash per gente Mac, assicurati di usare sudo vim / etc / aliases_bash)
function adbtx {
userinput="$(sed 's/ /%s/g' <<< $1)"
adb shell input text "${userinput}";
}
export -f adbtx
Quindi nella riga di comando inserisci:
adbtx 'Your text to emulator input'
" Il testo immesso nell'emulatore " verrà inserito nel campo di testo dell'emulatore.
Complimenti a Eliot per la sua stringa di sostituzione per sed.