क्या EditView
एंड्रॉइड एमुलेटर पर (डेस्कटॉप की) क्लिपबोर्ड सामग्री को कॉपी / पेस्ट करने का एक आसान तरीका है ?
(सिर्फ विकास / परीक्षण में आसानी के लिए)
क्या EditView
एंड्रॉइड एमुलेटर पर (डेस्कटॉप की) क्लिपबोर्ड सामग्री को कॉपी / पेस्ट करने का एक आसान तरीका है ?
(सिर्फ विकास / परीक्षण में आसानी के लिए)
जवाबों:
Android Emulator & x86 Google API एमुलेटर सिस्टम की छवियों v25.3.x के साथ API स्तर 19 (Android 4.4 - किटकैट) और उच्चतर, आप बस अपने माउस या कीबोर्ड से अपने डेस्कटॉप से कॉपी और पेस्ट कर सकते हैं।
इस फीचर की घोषणा एंड्रॉइड स्टूडियो 2.3 के साथ की गई थी
~/.android/avd/
.ini
?
एक टर्मिनल में, टाइप करें adb shell input text 'my string here. With some characters escaped like \$ that'
ध्यान दें कि पाठ में रिक्त स्थान शामिल करने के लिए एक वैकल्पिक विधि %s
प्रत्येक space
वर्ण के लिए स्थानापन्न है ।
adb shell input text "
चिपका सकते हैं: pbpaste"
'ლ\(ಠ益ಠლ\)'
, यह सिर्फ कहता है 'मारे गए' या सफल प्रतीत होता है और कुछ भी टाइप नहीं किया जाता है, और न ही मुझे एमुलेटर में कुछ भी चिपकाने योग्य है। एसएमएस विधि (मैंने डीडीएमएस से कोशिश की) यहां भी काम नहीं कर रहा है, यह "(????)" के रूप में प्रदर्शित होता है :(
adb shell input text "This%sis%stext\nDoes%snot%work%here."
प्रिंट "यह टेक्स्ट \ n है यहाँ काम नहीं करता है।"
मैं आमतौर पर वह पाठ भेजता हूं जिसे मैं टेलनेट के माध्यम से एसएमएस संदेश के रूप में कॉपी करना चाहता हूं और फिर एसएमएस संदेश से पाठ की प्रतिलिपि बनाता हूं। ऐसे:
टेलनेट के माध्यम से कनेक्ट करें:
telnet localhost <port>
telnet localhost 5554
(5554 डिफ़ॉल्ट पोर्ट है। एमुलेटर का शीर्षक बार उस पोर्ट को दिखाता है जिसका उपयोग किया जा रहा है, इसलिए आप देख सकते हैं कि क्या यह अलग है)।
मेसेज भेजें:
sms send <senders phone number> <message>
sms send 1231231234 This is the message you want to send
(आप सिर्फ प्रेषक फोन नंबर बना सकते हैं)
यह लिंक के लिए वास्तव में अच्छी तरह से काम करता है क्योंकि संदेश स्वचालित रूप से हाइपरलिंक में परिवर्तित हो जाता है जिसे आप ब्राउज़र में कॉपी / पेस्ट किए बिना क्लिक कर सकते हैं।
एक बार एमुलेटर संदेश प्राप्त करने के बाद आप इसे कॉपी कर सकते हैं और इसे जहाँ चाहें वहाँ पेस्ट कर सकते हैं।
adb
। मेरा जवाब देखिए।
बस जहाँ से भी कॉपी करें, क्लिक करें और एमुलेटर फोन के एडिट टेक्स्ट पर क्लिक करें, जहाँ आप चाहते हैं कि टेक्स्ट (जिस तरह आप दबाएंगे और वास्तविक फोन पर चिपकाना चाहते हैं), PASTE विकल्प दिखाई देगा, फिर PASTE।
यकीन नहीं है कि यह उपयोगी है, लेकिन, अगर आपको मोबाइल ब्राउज़र में खोले जाने के लिए डेस्कटॉप ब्राउज़र से एक लंबे URL की आवश्यकता है, तो आप उस URL के साथ एसएमएस भेज सकते हैं और सीधे संदेश ऐप से खोल सकते हैं।
यदि आप मैक पर एंड्रॉइड स्टूडियो का उपयोग कर रहे हैं, तो आपको adb
निष्पादन योग्य को पूर्ण पथ प्रदान करने की आवश्यकता हो सकती है । इस पथ को खोजने के लिए, खोलें:
Android Studio > Tools > Android > SDK Manager
पथ को SDK स्थान पर कॉपी करें। adb
निष्पादन एक के भीतर हो जाएगा platform-tools
निर्देशिका। मेरे लिए, यह रास्ता था:
~/Library/Android/sdk/platform-tools/adb
अब आप इस कमांड को चला सकते हैं:
~/Library/Android/sdk/platform-tools/adb shell input text 'thetextyouwanttopaste'
मैं इस समस्या से थक गया इसलिए मैंने इसे संभालने के लिए सिर्फ यह उपनाम बनाया:
alias ap="pbpaste | xargs adb shell input text"
फिर जब आप एक नई टर्मिनल विंडो खोलते हैं, तो "एपी" टाइप करके जो कुछ भी आपके क्लिपबोर्ड पर होता है वह एमुलेटर के सक्रिय रूप से चयनित टेक्स्ट फ़ील्ड में पेस्ट हो जाएगा।
बस इसे अपने प्रोफ़ाइल में जोड़ें (अधिकांश उपयोगकर्ताओं के ~/.bash_profile
लिए जो कि zsh उपयोगकर्ताओं के लिए है ~/.zshrc
) हर जगह उपलब्ध उपनाम बनाने के लिए। वैकल्पिक रूप से, यदि आप एक bash उपयोगकर्ता हैं (MacOS के लिए डिफ़ॉल्ट), तो आप इसे स्थापित करने के लिए टर्मिनल में निम्न कमांड चला सकते हैं:
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.
कि क्या करना है
शायद थोड़ा मुश्किल है, लेकिन आप एमुलेटर नियंत्रण का उपयोग करके एमुलेटर को एसएमएस भेज सकते हैं। फिर आपको सभी पाठ को फिर से लिखना नहीं है यदि यह लंबा है और इसे एमुलेटर में कॉपी-पेस्ट कर सकते हैं।
एक और तरीका: "टेलनेट लोकलहोस्ट पोर्ट" के माध्यम से एमुलेटर से कनेक्ट करें और फिर एमुलेटर को एक टेक्स्ट इनपुट ईवेंट भेजने के लिए हार्डवेयर इवेंट का उपयोग करें (यूटीएफ -8 की आवश्यकता है)। देखो इस
आप इसे बिना वर्कआर्डर के भी कर सकते हैं। बस क्लिक करें और इनपुट फ़ील्ड में थोड़ा दबाए रखें जब तक कि पेस्ट नोटिफिकेशन दिखाई न दे और फिर पेस्ट पर क्लिक करें। बस!
लिनक्स पर यह क्लिपबोर्ड से सीधे टेक्स्ट पेस्ट करेगा
adb shell input text "'$(xclip -selection c -o)'"
उदाहरण के लिए इस कमांड के साथ वैश्विक कीबोर्ड शॉर्टकी बनाना भी बहुत उपयोगी है Ctrl+Shift+Super+V
यह विंडोज एप्लिकेशन बनाया गया है जो उपयोगकर्ताओं को एक विजुअल इंटरफ़ेस से एंड्रॉइड एमुलेटर या कनेक्टेड डिवाइस पर पेस्ट कॉपी करने की अनुमति देता है। https://github.com/Florin-Birgu/Android-Copy-Paste
क्या आपने C2DM को देखा है? chrome2phone और fox2phone लिंक और क्लिपबोर्ड टेक्स्ट भेज सकते हैं और इसे फोन पर स्वचालित रूप से कॉपी कर सकते हैं। इसके अलावा, एडीबी शेल का उपयोग करने का प्रयास करें। एक सेवा कमांड (/ सिस्टम / बिन / सेवा) है जो सेवाओं (सर्विस कॉल क्लिपबोर्ड ...) का उपयोग कर सकती है। लेनदेन कोड क्रमशः 1, 2 और 3 हैं, getClipboardText, setClipboardText, और hasClipboardText के लिए क्रमशः।
विजुअल स्टूडियो एमुलेटर का उपयोग करते हुए, यहां मेरा तरीका है।
पहले एक वर्चुअल एसडी कार्ड को माउंड करें:
पाठ को स्थानांतरित करने के लिए एक पाठ फ़ाइल सेट करें:
जब भी मुझे क्लिप बोर्ड को पाठ भेजने की आवश्यकता होती है।
एक बार यह दोहराने के लिए बहुत आसान है। एक ही विधि अन्य एमुलेटर पर लागू होगी आपके द्वारा अपनी टेक्स्ट फ़ाइल को एमुलेटर पर धकेलने के लिए एक अलग विधि का उपयोग करने की आवश्यकता हो सकती है।
(उत्तर के लिए टिप्पणी चर्चा में परिवर्तित)
विंडोज़ पर केवल समाधान: https://github.com/gcb/AdbPaste
इस समस्या के आसपास काम करने के लिए इसे एक दो घंटे में लिखा। मैं अब 100% लिनक्स पर वापस आ गया हूं, इसलिए इसे एक योगदानकर्ता या अनुचर के रूप में शामिल होने के लिए स्वतंत्र महसूस करें!
मैं यहां उसी समस्या का हल ढूंढता हुआ आया, और इस समस्या को हल करने के लिए एक Android एप्लिकेशन लिखना समाप्त किया। आप इसे http://www.box.net/sared/6203bn441bfltkimajmk पर डाउनलोड कर सकते हैं । बस प्राथमिकताएं मेनू के माध्यम से एक URL दें एक जगह पर इंगित करें जहां आप वेब प्रतिक्रिया को आसानी से बदल सकते हैं। वेब प्रतिक्रिया की पहली पंक्ति आपके एमुलेटर के क्लिपबोर्ड पर आपके लिए कॉपी की जाएगी। अधिक विवरण http://agilesc.barryku.com/?p=255 पर देखे जा सकते हैं ।
मैक और लिनक्स के लिए अपने अलियास_बैश फ़ाइल में इस फ़ंक्शन को आज़माएं (मैक लोगों के लिए / etc / aliases_bash में स्थित है, sudo vim / etc / aliases_bash का उपयोग करना सुनिश्चित करें )
function adbtx {
userinput="$(sed 's/ /%s/g' <<< $1)"
adb shell input text "${userinput}";
}
export -f adbtx
फिर कमांड लाइन में दर्ज करें:
adbtx 'Your text to emulator input'
' एमुलेटर इनपुट के लिए आपका पाठ ' एमुलेटर टेक्स्ट फील्ड पर इनपुट होगा।
कुदोस ने एलियट को सेड के लिए अपने प्रतिस्थापन स्ट्रिंग के लिए।