我最近在做一个项目需要设置android系统时间,设置android 时间往往缺少权限,看到http://blog.csdn.net/kakaxi1o1/article/details/36872781,其中通过Process process = Runtime.getRuntime().exec("su");来获取系统权限,原理https://www.zhihu.com/question/21074979。
获取自己板子里面/system/bin 和/system/xbin下面均没有su文件,所以需要自己生成su文件或者下载别人的su文件,所以我们下载su文件,通过adb连接板子
即:
adb connect xx.xx.xx.xx (板子的ip地址)
切换到su所在位置
adb push su /data
通过串口打开板子,
进入/data
此时直接拷贝su到system仍然没有权限
所以需要
mount -o remount /system
重新挂载
此时
cp /data/su /system/bin
注意,此时仅仅拷贝,还需要分配权限,参考知乎大神的https://www.zhihu.com/question/21074979
chown root:root su
chmod 4775 /system/bin/su
,则分配权限成功。接下来只是寻找设置时间代码,网上很多,可以参考http://blog.csdn.net/aikongmeng/article/details/26730737,权限获取成功,但是设置时间有点小问题,所以大家自己想办法!
感谢大神,留此作,回馈后来者!