Android系统上面有名的RootExplorer很强大,可以操作任何目录下的文件,包括像/data/data这样需要root权限才能访问的地方。它是怎么样做到的呢?
这里要先提一个开源项目,地址是:
http://code.google.com/p/superuser/
大家可以用SVN把源码下载到本地,与系统源码一起编译就可以了。编译完成后会生成两个文件,一个是二进制可执行文件su,另一个是Superuser.apk。把su复制到系统的/system/bin目录,再把Superuser.apk复制到系统的/system/app目录。
这样,就可以用下面的代码执行su命令时,就会启动Superuser.apk中的Activity弹出标题为“以下程序要求授予最高权限...”的对话框,用户同意之后,APK就有ROOT权限了。
下面看看APK里面的代码。