Linux环境下开发Android小技巧

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

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值