使用 adb shell 将文本粘贴到 Android 模拟器剪贴板
我需要使用 adb shell 将文本粘贴到 Android 模拟器剪贴板中。 在Android 1.6和2.3.1上尝试
我尝试使用adb shell命令:clipboard:[android.text.iclipboard]
“服务调用剪贴板”,其中服务代码分别为1、2和3,分别用于getClipboardText、setClipboardText和hasClipboardText。
service call clipboard 2 s16 thisisinsertedtext
似乎不起作用 while
service call clipboard 1
显示剪贴板的内容:
service call clipboard 1
Result: Parcel(
0x00000000: 00000000 00000001 00000001 00000004 '................'
0x00000010: 00650074 00740078 00000000 't.e.x.t..... ')
请告知如何为模拟器剪贴板设置值!
I need to paste text into the Android emulator clipboard using adb shell.
tried on Android 1.6 and 2.3.1
I tried to use adb shell command: clipboard:[android.text.iclipboard]
"service call clipboard" where service codes are 1, 2, and 3, for getClipboardText, setClipboardText, and hasClipboardText respectively.
service call clipboard 2 s16 thisisinsertedtext
does not seem to work
while
service call clipboard 1
shows the content of clipboard:
service call clipboard 1
Result: Parcel(
0x00000000: 00000000 00000001 00000001 00000004 '................'
0x00000010: 00650074 00740078 00000000 't.e.x.t..... ')
Please advise how to set a value for emulator clipboard!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
使用下面的命令。
我认为第一个“i32 1”是剪贴板中有多少个元素。所以,只有一个。
第二个是字符串的长度。
上面写的命令显示...
所以,我的问题是,有什么方法可以复制 unicode 字符串吗?
我的意思是,多字节字符集,例如韩语。
我尝试了很多方法,但都失败了。
Use below command.
I think that the first one, "i32 1" is how many elements in clipboard. So, just one.
Second is a length of string.
The command written above shows...
So, my question is, is there any way to copy unicode string?
I mean, muti-byte character sets, like Korean.
I tried many way, but it failed.
看来自 API 级别 11 以来,所有 3 个旧方法均已弃用,因此它不适用于 ICS
不清楚是否可以使其与服务调用剪贴板一起使用...
www.androidjavadoc.com/1.0_r1_src/constant-values.html
http://developer.android.com/reference/android/content/ClipboardManager.html
http://developer.android.com/guide/topics/text/copy -paste.html
Looks like all 3 old methods are deprecated since API Level 11 so it won’t work for ICS
Not clear if it's even possible to make it work with service call clipboard anymore...
www.androidjavadoc.com/1.0_r1_src/constant-values.html
http://developer.android.com/reference/android/content/ClipboardManager.html
http://developer.android.com/guide/topics/text/copy-paste.html
没问题。
“你好吗”是汉字。
第二个“i32 1”可以是任何整数,也许......
That is OK.
"你好吗" is Chinese character.
The second 'i32 1' can be any integer, maybe...
试试这个:
i32:将整数 INT 写入发送包裹中。
s16:将UTF-16字符串STR写入发送包裹中。
Try this:
i32: Write the integer INT into the send parcel.
s16: Write the UTF-16 string STR into the send parcel.
自 API 级别 11 起,直接使用 adb shell 命令不起作用。
这是一个解决方案。
Using adb shell command directly do not work since API Level 11.
Here is a solution.
有一个开源 python 脚本可以处理严重的限制: https://github.com/gcb/AdbPaste - 它工作得很好,除了长剪贴板文件上传速度非常慢(200 行文本文件可能需要 20 分钟)。
我在 GitHub 上找到了一个名为 Clipper 的应用程序的一些代码,该应用程序可以使用 adb 通过广播意图填充剪贴板。我增强了它以从文件中读取,增强的代码在这里:https://github.com/RoundSparrow/clipper
构建应用程序,安装在设备上。现在我可以使用 ADB 命令通过文件填充剪贴板。对于我需要上传的 3 页脚本来说,它就像一个魅力。本质上你是这样使用的:
AdbPaste 速度要快得多,无论剪贴板内容有多大,它只需要一两秒。
There is an open source python script that can deal with the severe limitations: https://github.com/gcb/AdbPaste - and it works well enough except for long clipboard file uploads it's incredibly slow (200 line text file can take 20 minutes).
I found some code on GitHub for an app called clipper that can use adb to populate clipboard via a broadcast intent. I enhanced it to read from a file, the enhanced code is here: https://github.com/RoundSparrow/clipper
Build the app, install on the device. Now I can use ADB commands to populate the clipboard via a file. Works like a charm for a 3 page script I need to upload. Essentially you use like this:
It's much faster AdbPaste, it takes only a second or two regardless of the size of the clipboard content.