我一直在使用adb.exe.
我想使用adb.exe与bash相同的shell提示符,所以我决定更改默认的bash二进制文件(当然二进制文件是交叉编译的,一切都很完美)
更改bash二进制文件遵循以下顺序
adb remountadb push bash /system/bin/
adb shell
cd /system/binchmod 777 bashmv sh sh.bakln -s bash sh第一次更改成功,但第二次尝试时出现问题.
我推新bash二进制文件,但我错过了更改bash的权限777,并断开连接adb shell.
后
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb.exe shell
- exec '/system/bin/sh' failed: Permission denied (13) -
C:\Program Files (x86)\Android\android-sdk\platform-tools>
Run Code Online (Sandbox Code Playgroud)
有没有明智的想法来解决这个权限问题?
请帮我...
嗨,我使用手写笔(例如三星笔)开发了一个应用程序.如您所知,当我们单击手写笔上的按钮时,会出现"Air command"(弹出窗口).我的目标是" 将空中命令覆盖到我的自定义函数中 "
首先,我从*SpenHoverListener开始"(由Samsung Spen SDK 5.0支持)并覆盖onHover函数,如下所示.
private SpenHoverListener mHoverListener = new SpenHoverListener() {
@Override
public boolean onHover(View view, MotionEvent event) {
Log.e("Test",""+event.getButtonState());
updateHoverUI(event.getRawX(), event.getRawY(), event.getPressure(), event.getAction(), "Hover");
return true;
}
};
Run Code Online (Sandbox Code Playgroud)
我可以成功监控按钮单击事件(单击BUTTON_STYLUS_PRIMARY =>按钮).但是,我无法禁用空中命令.
有没有办法禁用空中命令?
最好的祝福.
你好我在Python子进程模块中有问题
我想与子进程交互(例如:child的stdin,stdout)
这是子程序的代码
1 #include <stdio.h>
2
3 int main(){
4 char buf[1024];
5 printf("asdfsadfasff\n");
6 scanf("%s",buf);
7 printf("%s\n",buf);
8 }
Run Code Online (Sandbox Code Playgroud)
这段代码非常简单,打印字符串,等待输入,打印输入字符串
接下来,python代码如下
1 #!/usr/bin/python
2 from subprocess import *
3
4 fd = Popen(["./random"],stdin=PIPE,stdout=PIPE)
5 print "pid = %d"%(fd.pid) # print pid
6 result = ""
7 result = fd.stdout.read(-1) # read
8 print result
9 fd.stdin.write("write write write!!!\n")
10 result = fd.stdout.read(-1)
11 print result
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我预计这个程序将运行良好,但在第7行(fd.stdout.read(-1)被阻止,从未工作
我更改了读取函数的参数(读取(-1),读取(1),读取(),读取(1024))但是一切都不起作用
但是,当我首先在stdin中给出字符串时,程序工作了.
我认为当程序结束时,孩子的stdout缓冲区没有填充......这只是我的意见
这个问题有什么解决方案吗?
EDIT1.当我首先执行打印字符串的程序,并等待用户的输入,如"sudo su"这很好用,我期待
我不明白为什么这个案子运作良好
1 from subprocess import * …Run Code Online (Sandbox Code Playgroud)