Coller du texte sur L'émulateur Android
y a-t-il de toute façon pour copier/coller (desktop) le contenu du presse-papiers à EditView
sur L'émulateur Android?
(juste pour le plaisir de la facilité de développement/test)
16 réponses
avec v25.3.x de L'émulateur Android & x86 Google API Emulator system images API Niveau 19 API (Android 4.4-Kitkat) et plus, vous pouvez simplement copier-coller à partir de votre bureau avec votre souris ou clavier.
cette fonctionnalité a été annoncée avec Android Studio 2.3
Dans un terminal, tapez adb shell input text 'my string here. With some characters escaped like $ that'
noter qu'une autre méthode pour inclure des espaces dans le texte consiste à remplacer %s
par space
.
j'envoie habituellement le texte que je veux copier comme un message sms par telnet et ensuite copier le texte du message sms. Voici comment:
se Connecter via telnet:
- syntaxe:
telnet localhost <port>
- exemple:
telnet localhost 5554
(5554 est le port par défaut. La barre de titre de l'émulateur montre le port être utilisé, donc vous pouvez voir si c'est différent).
envoyer le message:
- syntaxe:
sms send <senders phone number> <message>
- 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 vraiment bien pour les liens car le message est automatiquement converti en lien que vous pouvez cliquer sans avoir à copier / coller dans le navigateur.
une Fois l'émulateur reçoit le message, vous pouvez le copier et le coller où vous le souhaitez.
pas sûr si c'est utile, mais, si vous avez besoin d'une longue URL du navigateur de bureau pour être ouvert dans le navigateur mobile, vous pouvez envoyer des SMS avec cette URL et ouvrir directement à partir de l'application de message.
peut-être un peu difficile, mais vous pouvez envoyer un sms à l'émulateur en utilisant l'émulateur de contrôle. vous n'avez pas besoin de retaper tout le texte si elle est plus longue et peut les copier-coller dans l'émulateur.
une autre façon: se connecter à l'émulateur via le PORT " telnet localhost" et ensuite utiliser l'envoi d'événement matériel pour envoyer un événement d'entrée de texte à l'émulateur (doit être UTF-8). regardez ce
il suffit de copier à partir de n'importe où, Cliquez et attendez sur le texte d'édition du téléphone de l'émulateur où vous voulez que le texte aille (un peu comme vous appuyez et tenez à coller sur un téléphone réel), l'option de coller apparaîtra, puis coller.
si vous utilisez Android Studio sur un Mac, vous devrez peut-être fournir le chemin complet de l'exécutable adb
. Pour trouver ce chemin, ouvrez:
Android Studio > Tools > Android > SDK Manager
copie le chemin d'accès au SDK. L'exécutable adb
sera dans un répertoire platform-tools
. Pour moi, c'était le chemin:
~/Library/Android/sdk/platform-tools/adb
Maintenant, vous pouvez exécuter cette commande:
~/Library/Android/sdk/platform-tools/adb shell input text 'thetextyouwanttopaste'
sur Linux cela va coller du texte directement à partir du presse-papiers
adb shell input text "'$(xclip -selection c -o)'"
il est également très utile de créer un raccourci clavier global avec cette commande par exemple Ctrl+Shift+Super+V
avez-vous regardé C2DM? chrome2phone et fox2phone peuvent envoyer des liens et des textes de presse-papiers et les copier automatiquement sur le téléphone. Aussi, essayez d'utiliser le shell adb. Il y a une commande de service (/system/bin/service) qui peut utiliser des services (service Call clipboard ...). Les codes de transaction sont 1, 2 et 3, respectivement pour getClipboardText, setClipboardText et hasClipboardText.
j'en ai eu assez de ce problème alors j'ai juste créé ce pseudonyme pour le gérer:
alias ap="pbpaste | xargs adb shell input text"
ensuite, lorsque vous ouvrez une nouvelle fenêtre de terminal, tapez" ap " collera ce qui est sur votre presse-papiers dans le champ de texte activement sélectionné de l'émulateur.
Setup
ajoutez simplement ceci à votre profil (pour la plupart des utilisateurs, c'est ~/.bash_profile
pour les utilisateurs zsh c'est ~/.zshrc
) pour rendre l'alias disponible partout. Alternativement, si vous êtes un utilisateur bash (par défaut pour MacOS), alors vous pouvez exécuter la commande suivante dans le terminal pour la configurer pour vous:
echo "alias ap='pbpaste | xargs adb shell input text'" >> ~/.bash_profile && source ~/.bash_profile
en utilisant Visual Studio Emulator, voici ma méthode.
premier monticule une carte SD virtuelle:
- utilisez les outils supplémentaires (petite > > icône) pour l'émulateur et aller à la Carte SD de l'onglet.
- sélectionnez un dossier sur votre ordinateur pour vous synchroniser avec le carte SD virtuelle.
- tire de la carte SD, qui créera une structure de dossier sur le dossier sélectionné.
fichier à transférer texte:
- utilisez Google Play Store pour installer un éditeur de texte de votre choix""
- créez un fichier texte contenant votre texte sur votre ordinateur dans le répertoire de téléchargement du répertoire virtuel de cartes sd que vous avez créé auparavant.
chaque fois que j'ai besoin d'envoyer du texte à la table de clip.
- éditez le fichier texte créé ci-dessus.
- allez à outils supplémentaires (petite > > icône) et choisi Push To Sd Card.
- ouvrez le fichier texte dans l'éditeur de texte que j'ai installé et copiez le texte sur le panneau. (Maintenez la souris lorsque la boîte de dialogue s'ouvre, choisissez tout sélectionner, puis cliquez sur l'icône de copie)
une fois configuré assez facile à répéter. La même méthode est applicable à d'autres émulateurs par vous devrez peut-être utiliser une autre méthode pour pousser votre fichier texte à l'émulateur.
(conversion des commentaires en réponse)
seule solution sur windows: https://github.com/gcb/AdbPaste
l'a é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 contributeur ou mainteneur!
Écrire la commande: adb devices (il liste les périphériques actuellement connectés) Sélectionnez Textbox où vous voulez écrire du texte. Ecrire la commande: TEXTE d'entrée de l'interpréteur de commandes "Yourtext" (s'assurer qu'un seul périphérique est connecté pour exécuter cette commande) ) Fait!
je suis venu ici à la recherche d'une solution au même problème, et a fini par écrire une application Android pour résoudre ce problème. Vous pouvez le télécharger à http://www.box.net/shared/6203bn441bfltkimajmk . Il suffit de donner une URL via le menu Preferences pour pointer vers un endroit où vous pouvez changer la réponse Web facilement. La première ligne de la réponse Web sera copiée sur le bloc-notes 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 Mac, assurez-vous d'utiliser sudo vim /etc/aliases_bash)
function adbtx {
userinput="$(sed 's/ /%s/g' <<< )"
adb shell input text "${userinput}";
}
export -f adbtx
ensuite, dans la ligne de commande, inscrivez:
adbtx 'Your text to emulator input'
' votre entrée texte à émulateur " sera entrée dans le champ de texte de l'émulateur.
félicitations à Eliot pour sa substitution string pour sed.
fait cette application Windows qui permet aux utilisateurs de copier la pâte sur les émulateurs Android ou les appareils connectés à partir d'une interface visuelle. https://github.com/Florin-Birgu/Android-Copy-Paste