0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

哆啦安全 来源:哆啦安全 作者:云天实验室 2022-12-01 09:22 次阅读

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

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

1.find命令

8e5de416-710e-11ed-8abf-dac502259ad0.png

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

文件属性:

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

(1).按文件名查找

find / -name PowerManagerService.java

8e8d54e4-710e-11ed-8abf-dac502259ad0.png

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

find frameworks/ -name PowerManagerService.java

8eb4a0f8-710e-11ed-8abf-dac502259ad0.png

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

find frameworks/ -name 'PowerManager*'

8ed58052-710e-11ed-8abf-dac502259ad0.png

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

find . -name 'PowerManager*'

8efac51a-710e-11ed-8abf-dac502259ad0.png

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

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

find frameworks/ -amin -10

8f1a833c-710e-11ed-8abf-dac502259ad0.png

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

2.grep命令

8f4d56cc-710e-11ed-8abf-dac502259ad0.png

grep命令的主要参数

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

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

(1).按内容查找

grep'set'Power*

8f76d1f0-710e-11ed-8abf-dac502259ad0.png

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

grep Power ShutdownThread.java

8fa6a1be-710e-11ed-8abf-dac502259ad0.png

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

grep Power PowerManagerService.java

8fc6066c-710e-11ed-8abf-dac502259ad0.png

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

grep -n -i "Shutdown" PowerManagerService.java

8ff43cc6-710e-11ed-8abf-dac502259ad0.png

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

grep -n -i "Reboot" PowerManagerService.java

900dcf38-710e-11ed-8abf-dac502259ad0.png

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

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

9046899a-710e-11ed-8abf-dac502259ad0.png

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

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

907a0db0-710e-11ed-8abf-dac502259ad0.png

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

3.findgrep命令结合使用

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

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

90b12674-710e-11ed-8abf-dac502259ad0.png

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

90e8add8-710e-11ed-8abf-dac502259ad0.png

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"|xargsgrep-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"

91196a9a-710e-11ed-8abf-dac502259ad0.png

Android adb命令总结

Android adb常用命令

玩转Android adb命令(adb降级)

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

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

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






审核编辑:刘清

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

    关注

    19

    文章

    2904

    浏览量

    102988
  • Android系统
    +关注

    关注

    0

    文章

    55

    浏览量

    13185

原文标题:Android系统开发过程快速查找定位代码的方法

文章出处:【微信号:哆啦安全,微信公众号:哆啦安全】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Android系统开发免费体验日11月3号

    Android的搭建方式及过程,并对核心技术运用及标准开发流程等实用内容进行剖析,以帮助你一天的时间内快速熟悉相关3G
    发表于 10-25 13:40

    Android系统开发之蓝牙开发案例分析

    主题:Android系统开发之蓝牙设备访问技术要点分析及经典案例课程内容:本专题围绕Android蓝牙技术及设备访问要点进行介绍,为您解决蓝牙开发
    发表于 07-24 16:32

    嵌入式系统开发过程中的常见问题和解决方法

    转发, 嵌入式系统开发过程中的常见问题和解决方法1. Bootloader如何写入Flash ?初学者一般都会遇到如何将程序写入处理器的问题。对于不同的处理器,可以采用不同的方法。例如Intel
    发表于 09-12 13:30

    如何有效学习Android系统开发

    水涨船高,职业晋升更快:数据来自招聘平台和权威数据分析机构如何有效学习Android系统开发?很多人在学习Android过程中总会面临同一个难以逾越的困惑:看了不计其数的书和干货文章
    发表于 07-25 13:49

    求大神详细介绍一下FPGA嵌入式系统开发过程中的XBD文件设计

    求大神详细介绍一下FPGA嵌入式系统开发过程中的XBD文件设计
    发表于 05-06 08:19

    嵌入式linux开发过程中遇到的坑

    目标  博文旨在总结自己嵌入式linux开发过程中遇到的坑⛈、一些小知识点的汇总。☔等哪天发展到远离代码了,还能回一下当年的英姿。
    发表于 11-05 09:06

    单片机开发过程中的Flash

    Flash我们生活无处不在,比如:U盘、固态硬盘、SD卡、内存卡等。同时,单片机开发过程中也会遇到各种各样的Flash,...
    发表于 12-09 08:00

    谈一下单片机开发过程中使用过的几种调试方案

    运行一边修改参数?调试的方法有多种,在这就来分别谈一下我开发过程中使用过的几种调试方案。这里的调试方案也是一种交互方案,但此方案不是为了交互而设计,重在快速地搭建、方便地使用、高效
    发表于 01-14 08:25

    单片机开发过程中怎样使用定时器进行定时及超时处理

    单片机开发过程中怎样使用定时器进行定时及超时处理
    发表于 01-21 07:33

    RK3288W Android8.1开发过程有哪些

    RK3288W Android8.1开发过程有哪些
    发表于 03-03 08:51

    迅为RK3568开发Android11系统开发笔记分享

    是指配置产品时,需要将提前准备好的第三方应用apk放进android系统实际的研发过程中,经常需要将某个apk提升为系统应用。预安装分为
    发表于 08-25 18:06

    基于DSPs的系统开发过程

    本内容详细介绍了基于DSPs的系统开发过程
    发表于 09-29 17:28 136次下载
    基于DSPs的<b class='flag-5'>系统开发过程</b>

    基于嵌入式汽车检测系统开发过程的研究

    基于嵌入式汽车检测系统开发过程的研究
    发表于 10-30 16:05 9次下载
    基于嵌入式汽车检测<b class='flag-5'>系统开发过程</b>的研究

    单片机开发过程中5种延迟代码执行的技术

    在单片机项目开发过程中,经常会出现一个有趣的问题,即弄清楚如何延迟代码执行。有时,[单片机开发]人员可能只是希望有10微秒的延迟,以使I/O线在读取之前稳定下来,或者可能希望在两次读取之间指定的时间间隔使它反跳。在本文中,我们将
    的头像 发表于 07-10 10:43 1211次阅读

    Android校园应用开发过程

    电子发烧友网站提供《Android校园应用开发过程.pdf》资料免费下载
    发表于 10-19 11:36 0次下载
    <b class='flag-5'>Android</b>校园应用<b class='flag-5'>开发过程</b>