楼主,你那个程序是要用的android的东西了。Google在android的SDK加了很多东西,也减去了原Java的很多的API,你想用那个程序模拟按键而绕开android是不可能的。
解决方案 »
- 请问如何用openGL es把一张左右格式的图片像素列交错显示,实现裸眼3D的效果?
- 新手求助,怎样在一个已经设置好的xml中添加矩形或直线、虚线
- google maps中已知某个点的经纬度,如何计算该点映射到某条直线上的点的经纬度?
- 请教listView滚动条的问题
- android手机无法调用pc机上的webservice
- android Gallery用法
- 新手求教:Android的编译问题
- coolpad D550手机应用开发求助
- 请问这样的问题该如何解决?谢谢大家!
- android传输参数,在webservice中是空值,求处理
- 安卓超诡异InflateException!!!绝对不是手贱打错啊。。
- 调用gps信息在android2.2下正常,但是2.3以上gps设备显示出来,就是无法读出经纬度
谢谢你的回答,但是你并没有仔细看我的帖子 http://disanji.net/2011/05/10/android-basic-dalvik-vm-call/ 看了这个你就知道怎么运行纯java了
加了这个我编译就通不过
你是怎么编译过的?
Instrumentation 这个只是一个接口,肯定不能new Instrumentation() 这么用的
怎么可能编译都通不过 javac 你的java文件 -cp sdk中android.jar的地址 肯定能通过
Instrumentation inst=new Instrumentation();inst.sendKeyDownUpSync(4);
就是这么用的。。
import java.lang.instrument.Instrumentation;
有空再看看
怎么给别人安装》??(叫别人用命令行装么) = =b
打包成apk就要权限 不打包没意思。。自己玩。。
虽然鸡肋 不过蛮有意思
可以把写好的jar包打包在一个apk中,然后apk运行是,把这个jar包copy到手机中,然后由这个apk运行
1、这种方式需要root权限吗?
我这里貌似不root就无法运行
2、楼主有通过这种方式和android系统交互的例子吗?
比如:启动某个应用或者查询数据库之类的
1.不需要
2.简单交互已经实现,复杂的需要调用native method,或需要需要系统上下文的就有上面说的问题了。
傻呀你。!! 这样不行的 你打包apk就要权限的。。汗!
你确定打包了 apk? 没确定不要下定论谢谢
你太天真了。。
ps:如果可以 流氓应该漫天飞了。。
这完全是要依靠 adb来实现的。。
你是否使用了adb?这个是要adb的!
是否使用adb?
呵呵
朋友,你到底会不会android 啊。在apk里边执行 Process process = Runtime.getRuntime().exec("dalvikvm -cp /sdcard/foo.jar Foo");在电脑命令行里执行 adb shell dalvikvm -cp /sdcard/foo.jar Foo 这还要我跟你讲????????
楼上什么意思 "在framework那里有个按键的程序是把由monkeyEvent键值发送的给注释掉了 "在自己的写的apk程序中 调用 Instrumentation inst=new Instrumentation();inst.sendKeyDownUpSync(4);
是能够调用成功的,可以模拟按键,但是不能跨进程
你没理解我的意思。我是指你那个程序不是纯java开发的。就如一些简单的java代码直接贴在C#上也可以编译运行。其实你对比下android的api文档与java的api文档就明白了。
android的dalvik vm跟sun的jvm不一致
即便部分class能通用,有问题也是正常的。
lz这是在做两者的磨合试验么?
纯java只是一种代称吧。。不要纠结,我发帖所要解决的重点问题不是这个,是用这种方式写在android下能运行的程序能够绕过系统权限。如果再纠结这个问题还是不要回帖了,没有意义
纯java只是一种代称吧。。不要纠结我发帖所要解决的重点问题不是这个,是用这种方式写在android下能运行的程序能够绕过系统权限。如果再纠结这个问题还是不要回帖了,没有意义
sendKeyDownUpSync--》sendKeySync--->IWindowManager.Stub.asInterface(ServiceManager.getService("window")))
.injectKeyEvent(event, true); 错误应该是ServiceManager.getService("window")ServiceManager.getService("window")---》 BinderInternal.java native IBinder getContextObject();
底层实现 android_util_Binder.cpp --》jobject android_os_BinderInternal_getContextObject
编译后库文件 libandroid_servers.so暂时没头绪 可以考虑jni来玩
android机制是每人都有自己的vm,而jvm是一个的
你要跑去用系统级别的东西,相当于跨越android的vm来相互之间调用,逃不过android的。
你的java无论如何都在你启动的那个java环境中
这就是你根本的问题,当然漏洞这种东西就在于探索,不能说没有。
而你还没找到方向,单纯改造你的代码本就没什么意义。
另外模拟鼠标在源码下参考
http://hi.baidu.com/zhouhanqing/blog/item/1bfbaec593f4b5a48326acc7.html
jar中能实现模拟按键功能吗?我现在公司的项目需要模拟键盘按键