Android系统开发过程快速查找定位代码的方法

admin 2022年12月1日11:15:08移动安全评论4 views1984字阅读6分36秒阅读模式


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.javafind . -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.javagrep -n -i "xxx" xxx.javagrep -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/性能分析必备技巧)



推荐阅读

Android系统源码在线阅读(Android4~Android13)

http://aospxref.com/http://androidxref.com/https://aosp.opersys.com/



Android系统开发过程快速查找定位代码的方法


Android系统开发过程快速查找定位代码的方法

原文始发于微信公众号(哆啦安全):Android系统开发过程快速查找定位代码的方法

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年12月1日11:15:08
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  Android系统开发过程快速查找定位代码的方法 http://cn-sec.com/archives/1436965.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: