1.获取Android root权限;
测试平台三星V210(android2.2) ,瑞芯微RK2818(android2.3),摩托罗拉(android2.2);
失败:联想A60
2.Android java上层通过JNI调用native c 动态库;
在Android系统下如何在编译过程中将动态库加入APK工程;OK
掌握在Android编译模式下加入现成的so库; ???
在Eclipse环境下加入libs库;/libs/armeabi/xxxx.so
掌握NDK环境下编译so库;OK
3. JNI native与java上层之间的通信
该功能主要是为实现在so动态库中出现的错误,将错误通过JNI调用,在Java上层以Toast的形式向用户提示错误信息。以弥补logcat调试信息的不足,毕竟非专业用户并不熟悉使用adb等调试功能。
1) socket通信。推荐使用!使用方法见另一文。
2)通过调用java上层函数;
通过JNI在C中调用java上层函数时,Android特有元素将会被本地编译器自动跳过。所以,可以采用static全局变量作为变化检测。
4. 后台服务进程的中止;
restartpackage(android2.1及以下),killbackgroundProcess(android2.2以上支持)。 注意service与服务中进程的联系。
5.自动选择字符输入设备touch device , keyboard device
a. 查找uinput虚拟输入设备;
b. 目录/dev/input下输入设备类型的差别(多点触摸、普通单点触摸、键盘输入设备、鼠标设备、GSensor设备)
c. 对相应的设备注入事件event,从底层控制输入设备操作;
6. 本地库的兼容性问题;
由于libc版本的不同在android2.2或 android2.3中编译的so库或者执行程序可能无法兼容不同的android版本。
因此编译so动态库及本地执行程序,最好采用NDK编译。
7. updateScreen的优化;提高操作的同步性。