android 工程 快速查找分支

先贴一个代码

 

android代码都是通过拉分支来区别不同项目的,编译的时候用分支代码覆盖主分支,这样子可以尽量减少代码量的前提实现了差异化。

不过缺点也明显,就是修改一个文件必须同步到各个分支,要不然就会可能有编译问题。

 

这样就有了一个需求,就是在一个大的工程中寻找所有定制文件。之前用find -name 当工程比较小的时候,这种方法还可行。

不过随着工程变大,分支文件上G了,这种办法就有点捉襟见肘了。大量io操作耗费大量时间和cpu使用,影响工作效率,而且find -name的查找是盲目的,很多文件夹其实根本没有必要查找。比如查找某个应用的定制的时候,只需要查看package文件夹,而根本不需要查找framework文件夹。

 

于是我就用shell脚本自己写了一个遍历的函数,先进子文件夹,再用find,对于不可能的文件夹通过剪枝来减少不必要查找,提高效率。

 

本例子,是查找package下某个应用的文件,文件名通过shell参数传入。

 

这个脚本写好,我试了一个,大概1个多G的目录,用find -name 要找十多分钟才找完所有分支。

而用这个脚本就十几秒就可以了。

 

 

不过显示的结果还不够人性化,后续继续优化.

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值