Vim 小技巧
Dos 回车转换命令 vim :set fileformats=unix
快速替换应用
源码环境下当我们修改完某些应用后,push进系统,往往还需要杀死当前运行的旧应用才能看到修改后的效果,比如SystemUI应用,修改–>编译–>push进系统,你会发现修改不起作用。简单粗暴的做法是重启手机,这时我们用
adb shell kill systemui的进程id
可以达到杀死旧SystemUI进程的效果,这样就不用重启手机看效果了,
在进一步优化下,不用人为的每次去查找systemui进程id,用下面的命令更简化。
adb shell kill `adb shell ps|grep systemui|awk {‘print $2’}`
快速更改系统Settings数据库的值
系统settings数据库里有三张表global/secure/system,有时我们调试时需要更改这三张表里某些字段的值,一般的做法是先获取root权限,然后进入settings数据库,使用sqlite3语句更新字段值。拿global表中的device_provisioned字段来举例,device_provisioned字段在setupwizard运行完成后会设置为1,如果它的值为0,会发现状态栏无法下拉,recents键也无法使用,这里提供一种快速修改device_provisioned值的方法。
adb shell settings put global device_provisioned 1
该条命令可以快速的更改device_provisioned的值,相应的get命令可以查询指定字段的值。
adb shell settings get global device_provisioned
下图是实验的结果:
开放SEAndroid
有时手机已经root,但依然无法remount,导致root权限的手机无法向/system、/data等目录push文件,这种情况很可能是因为SEAndroid在作怪,SEAndroid在Android5.0已经全面开启,碰到这种情况可以用命令:
adb shell setenforce 0
暂时将SEAndroid安全检查机制关闭,用命令:
adb shell getenforce
检查返回值为Permissive则说明关闭成功。
如果还是无法push文件,尝试先执行命令:
adb disable-verity
重启手机在执行
adb shell setenforce 0