在Android系统开发过程中如何快速查找定位代码呢

描述

Android10以上系统定制Root权限(隐藏Root权限)

Android系统开发过程,经常需要进行文件查找、代码查找,常用find和grep查找命令

1.find命令

Android系统

根据文件的属性进行文件查找

文件属性:

文件名、文件大小、所有者、所属组、是否为空、访问时间、修改时间等

(1).按文件名查找

 

find / -name PowerManagerService.java

 

Android系统

表示在根目录下查找PowerManagerService.java文件,相当于在整个磁盘查找

 

find frameworks/ -name PowerManagerService.java

 

Android系统

表示在frameworks目录下查找PowerManagerService.java文件

 

find frameworks/ -name 'PowerManager*'

 

Android系统

表示使用通配符*(0个或任意多个),在frameworks目录下查找文件名开头是字符串'PowerManager'的文件

 

find . -name 'PowerManager*'

 

Android系统

表示在当前目录下(包含子目录)查找文件名开头是字符串'PowerManager'的文件。

(2).按照文件特征查找

 

find frameworks/ -amin -10

 

Android系统

表示在frameworks目录下查找最后10分钟访问的文件

2.grep命令

Android系统

grep命令的主要参数

 

-i:不区分大小写
-n:显示匹配行及行号
-r:包含子目录
-c:只输出匹配行的计数
-w:匹配整个单词

 

 

grep 参数 "内容" 查找目录或文件

 

(1).按内容查找

 

grep 'set' Power*

 

Android系统

显示所有以Power开头的文件中包含set的行

 

grep Power ShutdownThread.java

 

Android系统

显示ShutdownThread.java文件包含Power的行

 

grep Power PowerManagerService.java

 

Android系统

显示PowerManagerService.java文件包含Power的行

 

grep -n -i "Shutdown" PowerManagerService.java

 

Android系统

显示PowerManagerService.java文件包含Shutdown的行

 

grep -n -i "Reboot" PowerManagerService.java

 

Android系统

显示PowerManagerService.java文件包含Reboot的行

 

grep -n -i -r "Shutdown" power/

 

Android系统

显示power目录下(包含子目录)的文件包含Shutdown的行

 

grep -n -i -r "createVirtualDisplay" frameworks/

 

Android系统

显示frameworks目录下(包含子目录)的文件包含createVirtualDisplay的行

3.findgrep命令结合使用

先使用find命令查找文件,然后使用grep命令查找哪些文件包含某个字符串

 

find frameworks/ -name "*.java" | xargs grep -n "Shutdown"

 

Android系统

 

find frameworks/ -name "*.cpp" | xargs grep -n "main"

 

Android系统

4.常用查找命令

 

find . -name "*.cpp" | xargs grep -n "xxx"
find . -name "xxx.cpp"
find . -name "xxx.java"
find . -name xxx.java
find . -name "*.java" | xargs grep -n "xxx"
find . -name "*.bp" | xargs grep -n "xxx"
find . -name "*.xml" | xargs grep -n "xxx"
find . -name "*.sh" | xargs grep -n "xxx"
find . -name "*.mk" | xargs grep -n "xxx"
find . -name "*.prop" | xargs grep -n "xxx"
grep xxx xxx.java
grep -n -i "xxx" xxx.java
grep -n -i -r "xxx" frameworks/

 

 

find . -name "*.java" | xargs grep -n "shutdownOrRebootInternal"

 

Android系统

Android adb命令总结

Android adb常用命令

玩转Android adb命令(adb降级)

检测车机中ADB远程调试控制Android系统攻击

Android ANR/Crash Log日志分析技巧总结(建议收藏)

Android系统定制/测试(Crash/ANR等Bug/性能分析必备技巧)






审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分