Existe uma maneira fácil de copiar / colar o conteúdo da área de transferência no desktop do EditView
Android Emulator?
(apenas para facilitar o desenvolvimento / teste)
Existe uma maneira fácil de copiar / colar o conteúdo da área de transferência no desktop do EditView
Android Emulator?
(apenas para facilitar o desenvolvimento / teste)
Respostas:
Com a v25.3.x da API de imagens do sistema Android Emulator e x86 do Google API Emulator, nível 19 (Android 4.4 - Kitkat) e superior, você pode simplesmente copiar e colar da área de trabalho com o mouse ou o teclado.
Esse recurso foi anunciado com o Android Studio 2.3
~/.android/avd/
.ini
arquivos?
Em um terminal, digite adb shell input text 'my string here. With some characters escaped like \$ that'
Observe que um método alternativo para incluir espaços no texto é substituir %s
cada space
caractere.
adb shell input text "
pbpaste"
'ლ\(ಠ益ಠლ\)'
, apenas diz 'Killed' ou parece ter êxito e nada é digitado, nem tenho nada pastável no emulador. O método SMS (tentei no DDMS) nem parece estar funcionando aqui, é exibido como "? (????)" :(
adb shell input text "This%sis%stext\nDoes%snot%work%here."
impressões "Este é o texto \ nNão funciona aqui.".
Normalmente, envio o texto que desejo copiar como mensagem sms através do telnet e, em seguida, copio o texto da mensagem sms. Aqui está como:
Conecte-se através do telnet:
telnet localhost <port>
telnet localhost 5554
(5554 é a porta padrão. A barra de título do emulador mostra a porta que está sendo usada, para que você possa ver se é diferente).
Enviar mensagem:
sms send <senders phone number> <message>
sms send 1231231234 This is the message you want to send
(Você pode apenas inventar o número de telefone do remetente)
Isso funciona muito bem para os links, pois a mensagem é convertida automaticamente em um hiperlink no qual você pode clicar sem precisar copiar / colar no navegador.
Depois que o emulador receber a mensagem, você pode copiá-lo e colá-lo onde quiser.
adb
. Veja minha resposta.
Apenas copie de qualquer lugar, clique e segure o texto de edição do telefone emulador para onde deseja que o texto vá (como se você pressionasse e segure para colar em um telefone real), a opção PASTE aparecerá e depois PASTE.
Não tenho certeza se isso é útil, mas, se você precisar que um URL longo do navegador da área de trabalho seja aberto no navegador móvel, poderá enviar SMS com esse URL e abrir diretamente do aplicativo de mensagens.
Se você estiver usando o Android Studio em um Mac, talvez seja necessário fornecer o caminho completo para o adb
executável. Para encontrar esse caminho, abra:
Android Studio > Tools > Android > SDK Manager
Copie o caminho para o local do SDK. O adb
executável estará dentro de um platform-tools
diretório. Para mim, esse era o caminho:
~/Library/Android/sdk/platform-tools/adb
Agora você pode executar este comando:
~/Library/Android/sdk/platform-tools/adb shell input text 'thetextyouwanttopaste'
Eu me cansei desse problema, então apenas criei esse alias para lidar com isso:
alias ap="pbpaste | xargs adb shell input text"
Então, quando você abre uma nova janela do terminal, digitar "ap" colará o que estiver na sua área de transferência no campo de texto selecionado ativamente do emulador.
Simplesmente adicione isso ao seu perfil (para a maioria dos usuários que são os usuários do ~/.bash_profile
zsh ~/.zshrc
) para disponibilizar o alias em qualquer lugar. Como alternativa, se você é um usuário do bash (o padrão para o MacOS), pode executar o seguinte comando no terminal para configurá-lo:
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.
o que fazer
Somente para o nível da API> = 24
Copie qualquer texto da sua máquina local e simplesmente execute este comando
adb shell input keyevent 279
Verifique se Nas configurações do emulador do Android as Enable Clipboard Sharing
opções estão ativadas
talvez um pouco complicado, mas você pode enviar um sms para o emulador usando o controle do emulador. você não precisará digitar novamente todo o texto, se for maior, e poderá copiá-lo e colá-lo no emulador.
de outra maneira: conecte-se ao emulador via "telnet localhost PORT" e use o envio de eventos de hardware para enviar um evento de entrada de texto ao emulador (precisa ser UTF-8). olha isso
Você pode fazer isso sem soluções alternativas também. Apenas clique e segure um pouco no campo de entrada até que a notificação de colagem apareça e clique em colar. É isso aí!
No Linux, isso colará o texto diretamente da área de transferência
adb shell input text "'$(xclip -selection c -o)'"
Também é muito útil criar atalhos de teclado globais com este comando, por exemplo Ctrl+Shift+Super+V
Feito este aplicativo do Windows que permite aos usuários copiar e colar para emuladores Android ou dispositivos conectados a partir de uma interface visual. https://github.com/Florin-Birgu/Android-Copy-Paste
Você já viu o C2DM? chrome2phone e fox2phone podem enviar links e texto da área de transferência e copiá-lo automaticamente no telefone. Além disso, tente usar o shell adb. Existe um comando de serviço (/ system / bin / service) que pode usar serviços (área de transferência da chamada de serviço ...). Os códigos de transação são 1, 2 e 3, para getClipboardText, setClipboardText e hasClipboardText, respectivamente.
Usando o Visual Studio Emulator, aqui está o meu método.
Primeiro monte um cartão SD virtual:
Configure um arquivo de texto para transferir texto:
Sempre que preciso enviar texto para a área de transferência.
Depois de configurado, é muito fácil repetir. O mesmo método seria aplicável a outros emuladores, pois pode ser necessário usar um método diferente para enviar o arquivo de texto ao emulador.
(convertendo a discussão do comentário em resposta)
única solução no Windows: https://github.com/gcb/AdbPaste
escrevi em algumas horas para solucionar esse problema. Agora estou de volta ao 100% linux, então sinta-se à vontade para participar como colaborador ou mantenedor!
Comando de gravação: adb devices (ele listará o dispositivo conectado no momento) Selecione Caixa de texto onde deseja escrever o texto. Comando de gravação: texto de entrada adb shell "Yourtext" (verifique se apenas um dispositivo está conectado para executar este comando) Concluído!
Eu vim aqui procurando uma solução para o mesmo problema e acabei escrevendo um aplicativo Android para resolver esse problema. Você pode baixá-lo em http://www.box.net/shared/6203bn441bfltkimajmk . Basta fornecer um URL no menu Preferências para apontar para um local onde você pode alterar facilmente a resposta da Web. A primeira linha da resposta da Web será copiada para a área de transferência do emulador para você. Mais detalhes podem ser encontrados em http://agilesc.barryku.com/?p=255 .
Para Mac e Linux, tente esta função no arquivo aliases_bash (localizado em / etc / aliases_bash para pessoas do Mac, certifique-se de usar o sudo vim / etc / aliases_bash)
function adbtx {
userinput="$(sed 's/ /%s/g' <<< $1)"
adb shell input text "${userinput}";
}
export -f adbtx
Em seguida, na linha de comandos, digite:
adbtx 'Your text to emulator input'
' Sua entrada de texto no emulador ' será inserida no campo de texto do emulador.
Elogios a Eliot por sua sequência de substituição para sed.