Coller du texte sur l’émulateur Android

Y a-t-il un moyen de copier / coller le contenu du presse-papiers (du bureau) dans EditView sur Android Emulator?

(juste pour faciliter le développement / test)

Avec la version v25.3.x de l’émulateur Android et le système d’émulation API Google x86, les images d’API de niveau 19 (Android 4.4 – Kitkat) et supérieures, vous pouvez simplement copier et coller depuis votre bureau avec votre souris ou votre clavier.

Cette fonctionnalité a été annoncée avec Android Studio 2.3

Copier et coller avec l'émulateur Android

Dans un terminal, tapez le adb shell input text 'my ssortingng here. With some characters escaped like \$ that' adb shell input text 'my ssortingng here. With some characters escaped like \$ that'

Notez qu’une méthode alternative pour inclure des espaces dans le texte consiste à substituer %s pour chaque caractère d’ space .

J’envoie généralement le texte que je veux copier sous forme de message sms via telnet, puis copie le texte du message sms. Voici comment:

Connectez-vous via telnet:

  • Syntaxe: telnet localhost
  • Exemple: telnet localhost 5554

(5554 est le port par défaut. La barre de titre de l’émulateur affiche le port utilisé, vous pouvez donc voir s’il est différent).

Envoyer le message:

  • Syntaxe: sms send
  • Exemple: sms send 1231231234 This is the message you want to send

(Vous pouvez simplement composer le numéro de téléphone de l’expéditeur)

Cela fonctionne très bien pour les liens, car le message est automatiquement converti en un lien hypertexte sur lequel vous pouvez cliquer sans avoir à le copier / coller dans le navigateur.

Une fois que l’émulateur reçoit le message, vous pouvez le copier et le coller où vous le souhaitez.

Vous ne savez pas si cela est utile, mais si vous souhaitez ouvrir une longue URL depuis le navigateur de bureau dans le navigateur mobile, vous pouvez envoyer des SMS avec cette URL et les ouvrir directement à partir de l’application de messagerie.

entrer la description de l'image ici

peut-être un peu difficile, mais vous pouvez envoyer un sms à l’émulateur en utilisant le contrôle de l’émulateur. alors vous n’avez pas à retaper tout le texte s’il est plus long et pouvez le copier-coller dans l’émulateur.

d’une autre manière: connectez-vous à l’émulateur via “telnet localhost PORT”, puis utilisez l’envoi d’événements matériels pour envoyer un événement de saisie de texte à l’émulateur (doit être UTF-8). regarde ça

Si vous utilisez Android Studio sur un Mac, vous devrez peut-être fournir le chemin d’access complet à l’exécutable adb . Pour trouver ce chemin, ouvrez:

 Android Studio > Tools > Android > SDK Manager 

Copiez le chemin d’access à l’emplacement du SDK. L’exécutable adb sera dans un répertoire platform-tools . Pour moi, c’était le chemin:

 ~/Library/Android/sdk/platform-tools/adb 

Vous pouvez maintenant exécuter cette commande:

 ~/Library/Android/sdk/platform-tools/adb shell input text 'thetextyouwanttopaste' 

Copiez simplement depuis n’importe où, cliquez et maintenez sur le texte d’édition du téléphone de l’émulateur où vous voulez que le texte aille (un peu comme si vous mainteniez la touche enfoncée pour coller sur un téléphone réel), l’option PASTE apparaîtra, puis PASTEZ.

Avez-vous regardé le C2DM? chrome2phone et fox2phone peuvent envoyer des liens et du texte de presse-papiers et les copier automatiquement sur le téléphone. Essayez également d’utiliser le shell adb. Il y a une commande de service (/ system / bin / service) qui peut utiliser des services (presse-papiers d’appel de service …). Les codes de transaction sont 1, 2 et 3, respectivement pour getClipboardText, setClipboardText et hasClipboardText.

Je me suis fatigué de ce problème, alors je viens de créer cet alias pour le gérer:

 alias ap="pbpaste | xargs adb shell input text" 

Ensuite, lorsque vous ouvrez une nouvelle fenêtre de terminal, tapez “ap” pour coller le contenu de votre presse-papiers dans le champ de texte sélectionné de l’émulateur.

Installer

Ajoutez simplement ceci à votre profil (pour la plupart des utilisateurs ~/.bash_profile pour les utilisateurs de zsh ~/.zshrc ) afin de rendre l’alias disponible partout. Sinon, si vous êtes un utilisateur bash (par défaut pour MacOS), vous pouvez exécuter la commande suivante dans le terminal pour la configurer:

 echo "alias ap='pbpaste | xargs adb shell input text'" >> ~/.bash_profile && source ~/.bash_profile 

Sous Linux, cela va coller du texte directement depuis le presse-papier

 adb shell input text "'$(xclip -selection c -o)'" 

Aussi, il est très utile de créer un raccourci clavier global avec cette commande, par exemple Ctrl + Shift + Super + V

En utilisant Visual Studio Emulator, voici ma méthode.

Tout d’abord, une carte SD virtuelle:

  1. Utilisez les outils supplémentaires (petite icône >>) pour l’émulateur et accédez à l’onglet Carte SD.
  2. Sélectionnez un dossier sur votre ordinateur pour le synchroniser avec la carte SD virtuelle.
  3. Tirez sur la carte SD, ce qui créera une structure de dossiers sur le dossier sélectionné.

Configurez un fichier texte pour transférer du texte:

  1. Utilisez Google Play Store pour installer un éditeur de texte de votre choix
  2. Créez un fichier texte contenant votre texte sur votre ordinateur dans le répertoire de téléchargement du répertoire de carte SD virtuel que vous avez créé auparavant.

Chaque fois que j’ai besoin d’envoyer du texte au presse-papier.

  1. Modifiez le fichier texte créé ci-dessus.
  2. Allez dans Outils supplémentaires (petite icône >>) et choisissez Push To SD Card.
  3. Ouvrez le fichier texte dans l’éditeur de texte que j’ai installé et copiez le texte dans le Presse-papiers. (Maintenez la souris enfoncée lorsque la boîte de dialog s’ouvre, choisissez tout sélectionner, puis cliquez sur l’icône de copie)

Une fois mis en place assez facile à répéter. La même méthode serait applicable à d’autres émulateurs, vous devrez peut-être utiliser une méthode différente pour pousser votre fichier texte vers l’émulateur.

(conversion de la discussion en commentaires pour répondre)

seule solution sur Windows: https://github.com/gcb/AdbPaste

écrit en quelques heures pour contourner ce problème. Je suis maintenant de retour sur 100% Linux, alors n’hésitez pas à le rejoindre en tant que consortingbuteur ou mainteneur!

Commande d’écriture: périphériques adb (il listera le périphérique actuellement connecté) Sélectionnez Textbox où vous souhaitez écrire du texte. Commande d’écriture: texte d’entrée du shell adb “Yourtext” (assurez-vous qu’un seul périphérique est connecté pour exécuter cette commande) Terminé!

Je suis venu ici à la recherche d’une solution au même problème et j’ai fini par écrire une application Android pour résoudre ce problème. Vous pouvez le télécharger sur http://www.box.net/shared/6203bn441bfltkimajmk . Il suffit de donner une URL via le menu Préférences pour indiquer un endroit où vous pouvez modifier facilement la réponse Web. La première ligne de la réponse Web sera copiée dans le presse-papiers de votre émulateur pour vous. Plus de détails peuvent être trouvés à http://agilesc.barryku.com/?p=255 .

Pour Mac et Linux, essayez cette fonction dans votre fichier aliases_bash (situé dans / etc / aliases_bash pour les utilisateurs de Mac, veillez à utiliser sudo vim / etc / aliases_bash)

 function adbtx { userinput="$(sed 's/ /%s/g' <<< $1)" adb shell input text "${userinput}"; } export -f adbtx 

Ensuite, dans la ligne de commande, entrez:

 adbtx 'Your text to emulator input' 

" Votre texte à l'entrée de l'émulateur " sera entré dans le champ de texte de l'émulateur.

Félicitations à Eliot pour sa chaîne de substitution pour sed.

Fait cette application Windows qui permet aux utilisateurs de copier coller sur les émulateurs Android ou les périphériques connectés à partir d’une interface visuelle. https://github.com/Florin-Birgu/Android-Copy-Paste

entrer la description de l'image ici