Có cách nào dễ dàng để sao chép / dán nội dung clipboard của máy tính để bàn EditView
vào Trình giả lập Android không?
(chỉ vì lợi ích để dễ dàng phát triển / thử nghiệm)
Có cách nào dễ dàng để sao chép / dán nội dung clipboard của máy tính để bàn EditView
vào Trình giả lập Android không?
(chỉ vì lợi ích để dễ dàng phát triển / thử nghiệm)
Câu trả lời:
Với phiên bản v25.3.x của Trình mô phỏng Android & x86 Google API Trình mô phỏng hệ thống API Cấp 19 (Android 4.4 - Kitkat) trở lên, bạn có thể chỉ cần sao chép và dán từ máy tính để bàn bằng chuột hoặc bàn phím.
Tính năng này đã được công bố với Android Studio 2.3
~/.android/avd/
.ini
tệp?
Trong một thiết bị đầu cuối, gõ adb shell input text 'my string here. With some characters escaped like \$ that'
Lưu ý rằng một phương pháp thay thế để bao gồm khoảng trắng trong văn bản là thay thế %s
cho từng space
ký tự.
adb shell input text "
pbpaste"
'ლ\(ಠ益ಠლ\)'
, nó chỉ nói 'Bị giết' hoặc có vẻ thành công và không có gì được nhập, tôi cũng không có bất cứ điều gì có thể vượt qua trong trình giả lập. Phương thức SMS (tôi đã thử từ DDMS) thậm chí dường như không hoạt động ở đây, nó hiển thị dưới dạng "? (????)" :(
adb shell input text "This%sis%stext\nDoes%snot%work%here."
in "Đây là văn bản \ nKhông hoạt động ở đây.".
Tôi thường gửi văn bản tôi muốn sao chép dưới dạng tin nhắn sms qua telnet và sau đó sao chép văn bản từ tin nhắn sms. Đây là cách thực hiện:
Kết nối qua telnet:
telnet localhost <port>
telnet localhost 5554
(5554 là cổng mặc định. Thanh tiêu đề của trình giả lập hiển thị cổng đang được sử dụng, vì vậy bạn có thể thấy nếu nó khác nhau).
Gửi tin nhắn:
sms send <senders phone number> <message>
sms send 1231231234 This is the message you want to send
(Bạn chỉ có thể tạo số điện thoại của người gửi)
Điều này hoạt động thực sự tốt cho các liên kết vì tin nhắn được tự động chuyển đổi thành một siêu liên kết mà bạn có thể nhấp mà không cần phải sao chép / dán nó vào trình duyệt.
Khi trình giả lập nhận được tin nhắn, bạn có thể sao chép nó và dán nó bất cứ nơi nào bạn muốn.
adb
. Xem câu trả lời của tôi.
Chỉ cần sao chép từ bất cứ đâu, nhấp và giữ vào văn bản chỉnh sửa trình giả lập nơi bạn muốn văn bản đi (giống như bạn sẽ nhấn và giữ để dán trên điện thoại thực tế), tùy chọn PASTE sẽ xuất hiện, sau đó PASTE.
Không chắc chắn nếu điều đó hữu ích, nhưng, nếu bạn cần một URL dài từ trình duyệt máy tính để bàn được mở trong trình duyệt di động, bạn có thể gửi SMS bằng URL đó và mở trực tiếp từ ứng dụng tin nhắn.
Nếu bạn đang sử dụng Android Studio trên máy Mac, bạn có thể cần cung cấp đường dẫn đầy đủ để adb
thực thi. Để tìm đường dẫn này, hãy mở:
Android Studio > Tools > Android > SDK Manager
Sao chép đường dẫn đến vị trí SDK. Việc adb
thực thi sẽ nằm trong một platform-tools
thư mục. Đối với tôi, đây là con đường:
~/Library/Android/sdk/platform-tools/adb
Bây giờ bạn có thể chạy lệnh này:
~/Library/Android/sdk/platform-tools/adb shell input text 'thetextyouwanttopaste'
Tôi cảm thấy mệt mỏi với vấn đề này vì vậy tôi chỉ tạo bí danh này để xử lý nó:
alias ap="pbpaste | xargs adb shell input text"
Sau đó, khi bạn mở một cửa sổ terminal mới, gõ "ap" sẽ dán bất cứ thứ gì vào clipboard của bạn vào trường văn bản được chọn tích cực của trình giả lập.
Chỉ cần thêm phần này vào hồ sơ của bạn (đối với hầu hết người dùng là ~/.bash_profile
người dùng zsh ~/.zshrc
) để làm cho bí danh có sẵn ở mọi nơi. Ngoài ra, nếu bạn là người dùng bash (mặc định cho MacOS), thì bạn có thể chạy lệnh sau trong thiết bị đầu cuối để thiết lập nó cho bạn:
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.
phải làm gì
Chỉ dành cho cấp API> = 24
Sao chép bất kỳ văn bản từ máy cục bộ của bạn và sau đó chỉ cần chạy lệnh này
adb shell input keyevent 279
Đảm bảo Trong Cài đặt trình giả lập Android, các Enable Clipboard Sharing
tùy chọn được bật
có thể một chút khó khăn, nhưng bạn có thể gửi một tin nhắn đến trình giả lập bằng cách sử dụng điều khiển trình giả lập. sau đó bạn không phải gõ lại tất cả văn bản nếu nó dài hơn và có thể sao chép-dán nó vào trình giả lập.
một cách khác: kết nối với trình giả lập thông qua "telnet localhost PORT" và sau đó sử dụng gửi sự kiện phần cứng để gửi một sự kiện nhập văn bản đến trình giả lập (cần phải là UTF-8). nhìn này
Bạn có thể làm điều này mà không cần cách giải quyết quá. Chỉ cần nhấp và giữ một chút trong trường nhập liệu cho đến khi thông báo dán xuất hiện và sau đó nhấp vào dán. Đó là nó!
Tạo ứng dụng Windows này cho phép người dùng sao chép dán vào trình giả lập Android hoặc các thiết bị được kết nối từ giao diện trực quan. https://github.com/Florin-Birgu/Android-Copy-Paste
Bạn đã nhìn vào C2DM chưa? chrome2phone và fox2phone có thể gửi liên kết và văn bản clipboard và tự động sao chép nó trên điện thoại. Ngoài ra, hãy thử sử dụng vỏ adb. Có một lệnh dịch vụ (/ system / bin / service) có thể sử dụng các dịch vụ (clipboard cuộc gọi dịch vụ ...). Mã giao dịch lần lượt là 1, 2 và 3, cho getClipboardText, setClipboardText và hasClipboardText.
Sử dụng Trình mô phỏng Visual Studio, đây là phương pháp của tôi.
Đầu tiên Mound một thẻ sd ảo:
Thiết lập tệp văn bản để chuyển văn bản:
Bất cứ khi nào tôi cần gửi văn bản đến bảng clip.
Sau khi thiết lập nó khá dễ dàng để lặp lại. Phương pháp tương tự sẽ được áp dụng cho các trình giả lập khác bởi bạn có thể cần phải sử dụng một phương pháp khác để đẩy tệp văn bản của mình sang trình giả lập.
(chuyển đổi thảo luận bình luận để trả lời)
giải pháp duy nhất trên windows: https://github.com/gcb/AdbPaste
đã viết nó trong một vài giờ để khắc phục vấn đề này. Bây giờ tôi đã quay lại với linux 100%, vì vậy hãy tham gia với tư cách là người đóng góp hoặc bảo trì!
Tôi đến đây để tìm giải pháp cho cùng một vấn đề, và cuối cùng đã viết một ứng dụng Android để giải quyết vấn đề này. Bạn có thể tải xuống tại http://www.box.net/ Shared/6203bn441bfltkimajmk . Chỉ cần cung cấp URL qua menu Tùy chọn để trỏ đến một nơi mà bạn có thể thay đổi phản hồi Web một cách dễ dàng. Dòng đầu tiên của phản hồi Web sẽ được sao chép vào bảng tạm của trình giả lập cho bạn. Thông tin chi tiết có thể được tìm thấy tại http://agilesc.barryku.com/?p=255 .
Đối với Mac và Linux, hãy thử chức năng này trong tệp aliases_bash của bạn (nằm trong / etc / aliases_bash cho Mac folks, hãy chắc chắn sử dụng sudo vim / etc / aliases_bash)
function adbtx {
userinput="$(sed 's/ /%s/g' <<< $1)"
adb shell input text "${userinput}";
}
export -f adbtx
Sau đó, trong dòng lệnh nhập:
adbtx 'Your text to emulator input'
' Văn bản của bạn để nhập trình mô phỏng ' sẽ được nhập vào trường văn bản trình giả lập.
Kudos đến Eliot cho chuỗi thay thế của mình cho sed.