EditView
Android Emulator'da (masaüstü) pano içeriğini kopyalamanın / yapıştırmanın kolay bir yolu var mı ?
(sadece gelişimi / testi kolaylaştırmak için)
EditView
Android Emulator'da (masaüstü) pano içeriğini kopyalamanın / yapıştırmanın kolay bir yolu var mı ?
(sadece gelişimi / testi kolaylaştırmak için)
Yanıtlar:
Android Emulator ve x86 Google API Emulator sistem görüntüleri API Seviye 19 (Android 4.4 - Kitkat) ve üstü v25.3.x ile, masaüstünüzden fareniz veya klavyenizle kopyalayıp yapıştırabilirsiniz.
Bu özellik Android Studio 2.3 ile duyuruldu
~/.android/avd/
.ini
dosyaları düzenleyerek bunu komut satırından (pano paylaşımını sıfırla) nasıl yaparsınız ?
Bir terminale şunu yazın adb shell input text 'my string here. With some characters escaped like \$ that'
Metne boşluk eklemek için alternatif bir yöntemin %s
her space
karakterin yerine geçeceğini unutmayın.
adb shell input text "
kullanıyorsanız panonun içeriğini daha kolay yapıştırabilirsiniz: pbpaste"
'ლ\(ಠ益ಠლ\)'
, sadece 'Öldürüldü' diyor veya başarılı görünüyor ve hiçbir şey yazılmıyor, ne de öykünücüde geçirilebilecek bir şey yok. SMS yöntemi (DDMS denedim) burada çalışıyor gibi görünmüyor, "? (????)" olarak görüntüleniyor :(
adb shell input text "This%sis%stext\nDoes%snot%work%here."
"Bu metin \ nBurada çalışmıyor."
Genellikle telnet üzerinden sms mesajı olarak kopyalamak istediğim metni gönderir ve daha sonra sms mesajından metni kopyalarım. Bunu nasıl yapacağınız aşağıda açıklanmıştır:
Telnet üzerinden bağlan:
telnet localhost <port>
telnet localhost 5554
(5554 varsayılan bağlantı noktasıdır. Öykünücünün başlık çubuğu kullanılan bağlantı noktasını gösterir, böylece farklı olup olmadığını görebilirsiniz).
Mesaj gönder:
sms send <senders phone number> <message>
sms send 1231231234 This is the message you want to send
(Sadece gönderenin telefon numarasını oluşturabilirsiniz)
İleti, tarayıcıya kopyalamak / yapıştırmak zorunda kalmadan otomatik olarak tıklayabileceğiniz bir köprüye dönüştürüldüğünden bağlantılar için bu gerçekten işe yarar.
Emülatör mesajı aldıktan sonra kopyalayabilir ve istediğiniz yere yapıştırabilirsiniz.
adb
. Cevabımı gör.
İstediğiniz yerden kopyalayın, öykünücü telefonunun metnin gitmesini istediğiniz düzenleme metnine tıklayın ve basılı tutun (gerçek bir telefona yapıştırmak için basılı tuttuğunuz gibi), YAPIŞTIR seçeneği görünecek, ardından YAPIŞTIRACAK.
Bunun yararlı olup olmadığından emin değilsiniz, ancak masaüstü tarayıcısından mobil tarayıcıda açılması için uzun bir URL'ye ihtiyacınız varsa, bu URL ile SMS gönderebilir ve doğrudan mesaj uygulamasından açabilirsiniz.
Mac'te Android Studio kullanıyorsanız, adb
yürütülebilir programın tam yolunu sağlamanız gerekebilir . Bu yolu bulmak için açın:
Android Studio > Tools > Android > SDK Manager
Yolu SDK konumuna kopyalayın. adb
Çalıştırılabilir bir içinde olacak platform-tools
dizinde. Benim için yol buydu:
~/Library/Android/sdk/platform-tools/adb
Şimdi bu komutu çalıştırabilirsiniz:
~/Library/Android/sdk/platform-tools/adb shell input text 'thetextyouwanttopaste'
Bu sorundan sıkıldım, bu yüzden sadece bu takma adı işlemek için yaptım:
alias ap="pbpaste | xargs adb shell input text"
Daha sonra yeni bir terminal penceresi açtığınızda, "ap" yazmak panonuzdakini emülatörün aktif olarak seçilen metin alanına yapıştırır.
Takma adı her yerde kullanılabilir yapmak ~/.bash_profile
için bunu profilinize ekleyin ( zsh kullanıcıları için olan çoğu kullanıcı için ~/.zshrc
). Alternatif olarak, bir bash kullanıcısıysanız (MacOS için varsayılan), sizin için kurmak için terminalde aşağıdaki komutu çalıştırabilirsiniz:
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.
ne yapmak pencere ve takma ad kullanıyorum
Yalnızca API düzeyi> = 24 için
Yerel makinenizdeki herhangi bir metni kopyalayın ve ardından bu komutu çalıştırın
adb shell input keyevent 279
Android Emulator Ayarlarında Enable Clipboard Sharing
seçeneklerin etkinleştirildiğinden emin olun
belki biraz zor olabilir, ancak emülatör kontrolünü kullanarak emülatöre bir sms gönderebilirsiniz. daha uzunsa ve öykünücüye kopyalayıp yapıştırabiliyorsanız tüm metni yeniden yazmanız gerekmez.
başka bir yol: "telnet localhost PORT" üzerinden öykünücüye bağlanın ve sonra öykünücüye bir metin giriş olayı göndermek için donanım olayı gönderme özelliğini kullanın (UTF-8 olması gerekir). bakmak bu
Bunu geçici çözümler olmadan da yapabilirsiniz. Yapıştır bildirimi görünene kadar giriş alanında bir parça için basılı tutup yapıştır'a tıklamanız yeterlidir. Bu kadar!
Linux'ta bu doğrudan panodan metin yapıştıracaktır
adb shell input text "'$(xclip -selection c -o)'"
Ayrıca, bu komutla global klavye kısa tuşu oluşturmak çok yararlıdır. Ctrl+Shift+Super+V
Kullanıcıların görsel bir arayüzden Android emülatörlerine veya bağlı cihazlara yapıştırma kopyalamasına izin veren bu Windows uygulaması yapılmıştır. https://github.com/Florin-Birgu/Android-Copy-Paste
C2DM'ye baktınız mı? chrome2phone ve fox2phone bağlantılar ve pano metni gönderebilir ve otomatik olarak telefona kopyalayabilir. Ayrıca, adb kabuğunu kullanmayı deneyin. Hizmetleri (servis çağrısı panosu ...) kullanabilen bir servis komutu (/ system / bin / service) vardır. İşlem kodları sırasıyla getClipboardText, setClipboardText ve hasClipboardText için 1, 2 ve 3'tür.
Visual Studio Emulator kullanarak, İşte benim yöntem.
İlk Höyük Sanal SD Kart:
Metin aktarmak için bir metin dosyası ayarlayın:
Klip panosuna metin göndermem gerektiğinde.
Bir kez kurmak tekrarlamak oldukça kolaydır. Aynı yöntem diğer emülatörler için de geçerlidir, çünkü metin dosyanızı emülatöre itmek için farklı bir yöntem kullanmanız gerekebilir.
(yorum tartışmasını yanıtlamaya dönüştürme)
Windows'ta yalnızca çözüm: https://github.com/gcb/AdbPaste
bu sorunu çözmek için birkaç saat içinde yazdı. Şimdi% 100 linux'a geri döndüm, bu yüzden katkıda bulunan veya sürdüren olarak katılmaktan çekinmeyin!
Buraya aynı soruna bir çözüm aramaya geldim ve bu sorunu çözmek için bir Android uygulaması yazdım. Http://www.box.net/shared/6203bn441bfltkimajmk adresinden indirebilirsiniz . Web yanıtını kolayca değiştirebileceğiniz bir yeri göstermek için Tercihler menüsü aracılığıyla bir URL vermeniz yeterlidir. Web yanıtının ilk satırı sizin için öykünücünüzün panosuna kopyalanır. Daha fazla ayrıntı http://agilesc.barryku.com/?p=255 adresinde bulunabilir .
Mac ve Linux için bu işlevi aliases_bash dosyanızda deneyin (Mac millet için / etc / aliases_bash'te bulunur, sudo vim / etc / aliases_bash kullandığınızdan emin olun )
function adbtx {
userinput="$(sed 's/ /%s/g' <<< $1)"
adb shell input text "${userinput}";
}
export -f adbtx
Sonra komut satırına şunu girin:
adbtx 'Your text to emulator input'
' Emülatör girişine metniniz ' emülatör metin alanına girilir.
Kudos yerine sed yerine ikinci el dizisiyle Eliot'u seçti.