Existe-t-il un moyen simple de copier / coller le contenu du presse-papiers (du bureau) EditView
sur l'émulateur Android?
(juste pour faciliter le développement / test)
Existe-t-il un moyen simple de copier / coller le contenu du presse-papiers (du bureau) EditView
sur l'émulateur Android?
(juste pour faciliter le développement / test)
Réponses:
Avec la version 25.3.x des images système de l'émulateur Android et de l'émulateur d'API Google x86 API Niveau 19 (Android 4.4 - Kitkat) et plus, vous pouvez simplement copier et coller à partir de votre bureau avec votre souris ou votre clavier.
Cette fonctionnalité a été annoncée avec Android Studio 2.3
~/.android/avd/
.ini
fichiers?
Dans un terminal, saisissez adb shell input text 'my string here. With some characters escaped like \$ that'
Notez qu'une autre méthode pour inclure des espaces dans le texte consiste à remplacer %s
chaque space
caractère.
adb shell input text "
pbpaste"
'ლ\(ಠ益ಠლ\)'
, il dit simplement 'Killed' ou semble réussir et rien n'est tapé, et je n'ai rien de collable dans l'émulateur. La méthode SMS (que j'ai essayée depuis DDMS) ne semble même pas fonctionner ici, elle s'affiche comme "? (????)" :(
adb shell input text "This%sis%stext\nDoes%snot%work%here."
imprime "Ceci est du texte \ nNe fonctionne pas ici.".
J'envoie généralement le texte que je veux copier sous forme de message SMS via Telnet, puis je copie le texte du message SMS. Voici comment:
Connectez-vous via telnet:
telnet localhost <port>
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:
sms send <senders phone number> <message>
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.
adb
. Voir ma réponse.
Copiez simplement de n'importe où, cliquez et maintenez sur le texte de modification du téléphone émulateur où vous voulez que le texte aille (un peu comme si vous appuyez et maintenez pour coller sur un téléphone réel), l'option COLLER apparaîtra, puis COLLER.
Je ne sais pas si c'est utile, mais, si vous avez besoin d'une longue URL à partir du navigateur de bureau pour être ouverte dans le navigateur mobile, vous pouvez envoyer des SMS avec cette URL et ouvrir directement à partir de l'application de message.
Si vous utilisez Android Studio sur un Mac, vous devrez peut-être fournir le chemin d'accès complet à l' adb
exécutable. Pour trouver ce chemin, ouvrez:
Android Studio > Tools > Android > SDK Manager
Copiez le chemin d'accès à l'emplacement du SDK. L' adb
exécutable sera dans un platform-tools
répertoire. 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'
Je suis fatigué de ce problème, j'ai donc créé cet alias pour le gérer:
alias ap="pbpaste | xargs adb shell input text"
Ensuite, lorsque vous ouvrez une nouvelle fenêtre de terminal, taper "ap" collera tout ce qui se trouve dans votre presse-papiers dans le champ de texte activement sélectionné de l'émulateur.
Ajoutez simplement cela à votre profil (pour la plupart des utilisateurs, c'est ~/.bash_profile
pour les utilisateurs de zsh ~/.zshrc
) pour rendre l'alias disponible partout. Alternativement, si vous êtes un utilisateur bash (par défaut pour MacOS), vous pouvez exécuter la commande suivante dans le terminal pour le configurer pour vous:
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.
quoi faire
Uniquement pour le niveau API> = 24
Copiez n'importe quel texte de votre ordinateur local, puis exécutez simplement cette commande
adb shell input keyevent 279
Assurez-vous que dans les paramètres de l'émulateur Android, les Enable Clipboard Sharing
options sont activées
peut-être un peu délicat, mais vous pouvez envoyer un sms à l'émulateur en utilisant le contrôle de l'émulateur. vous n'avez pas à retaper tout le texte s'il est plus long et pouvez le copier-coller dans l'émulateur.
une autre façon: 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
Vous pouvez également le faire sans solution de contournement. Cliquez et maintenez un peu dans le champ de saisie jusqu'à ce que la notification de collage apparaisse, puis cliquez sur coller. C'est tout!
Sous Linux, cela va coller du texte directement depuis le 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
Création de cette application Windows qui permet aux utilisateurs de copier-coller sur des émulateurs Android ou des appareils connectés à partir d'une interface visuelle. https://github.com/Florin-Birgu/Android-Copy-Paste
Avez-vous regardé C2DM? chrome2phone et fox2phone peuvent envoyer des liens et du texte du 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, pour getClipboardText, setClipboardText et hasClipboardText respectivement.
À l'aide de Visual Studio Emulator, voici ma méthode.
Montez d'abord une carte SD virtuelle:
Configurer un fichier texte pour transférer du texte:
Chaque fois que j'ai besoin d'envoyer du texte au presse-papiers.
Une fois installé, il est assez facile de le 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 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 de retour sur 100% linux, alors n'hésitez pas à le rejoindre en tant que contributeur ou mainteneur!
Commande d'écriture: périphériques adb (il répertorie le périphérique actuellement connecté) Sélectionnez Zone de texte 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 . Donnez simplement une URL via le menu Préférences pour pointer vers un endroit où vous pouvez facilement changer la réponse Web. La première ligne de la réponse Web sera copiée pour vous dans le presse-papiers de votre émulateur. Plus de détails peuvent être trouvés sur 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 gens de Mac, assurez-vous d'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.