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

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

3天内不再提示

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

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

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

    文章

    2964

    浏览量

    104688
  • Android系统
    +关注

    关注

    0

    文章

    56

    浏览量

    13492

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

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

收藏 人收藏

    相关推荐

    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

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

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

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

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

    基于DSPs的系统开发过程

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

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

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

    代码编写器CCS的新特性的介绍和以及如何将它们应用到代码开发过程中

    记中介绍的材料着重于项目管理的这个和其他新特性,以及如何将它们应用到代码开发过程中。一些例子有助于引导读者通过各种主题和技术,指出有助于提供高效代码开发的特征。
    发表于 05-03 16:42 6次下载
    <b class='flag-5'>代码</b>编写器CCS的新特性的介绍和以及如何将它们应用到<b class='flag-5'>代码</b><b class='flag-5'>开发过程中</b>

    嵌入式开发过程中的一点调试经验

    嵌入式开发过程中的一点调试经验嵌入式开发最麻烦的现场调试过程中或实际运营过程中出现问题很难定位
    发表于 11-02 18:06 15次下载
    嵌入式<b class='flag-5'>开发过程中</b>的一点调试经验

    聊聊汽车功能安全系统开发阶段系统安全架构

    架构是一门艺术,整车汽车系统,软/硬件开发过程中非常重要,尤其基于模型的系统开发(MBSE)
    发表于 09-26 11:30 2641次阅读

    如何读懂FPGA开发过程中的Vivado时序报告?

    FPGA开发过程中,vivado和quartus等开发软件都会提供时序报告,以方便开发者判断自己的工程时序是否满足时序要求。
    发表于 06-26 15:29 1027次阅读
    如何读懂FPGA<b class='flag-5'>开发过程中</b>的Vivado时序报告?

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

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

    Android校园应用开发过程

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