0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在Android系統(tǒng)開發(fā)過程中如何快速查找定位代碼呢

哆啦安全 ? 來源:哆啦安全 ? 作者:云天實驗室 ? 2022-12-01 09:22 ? 次閱讀

Android10以上系統(tǒng)定制Root權(quán)限(隱藏Root權(quán)限)

Android系統(tǒng)開發(fā)過程,經(jīng)常需要進(jìn)行文件查找、代碼查找,常用find和grep查找命令

1.find命令

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

根據(jù)文件的屬性進(jìn)行文件查找

文件屬性:

文件名、文件大小、所有者、所屬組、是否為空、訪問時間、修改時間等

(1).按文件名查找

find / -name PowerManagerService.java

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

表示在根目錄下查找PowerManagerService.java文件,相當(dāng)于在整個磁盤查找

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

表示在當(dāng)前目錄下(包含子目錄)查找文件名開頭是字符串'PowerManager'的文件。

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

find frameworks/ -amin -10

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

表示在frameworks目錄下查找最后10分鐘訪問的文件

2.grep命令

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

grep命令的主要參數(shù)

-i:不區(qū)分大小寫
-n:顯示匹配行及行號
-r:包含子目錄
-c:只輸出匹配行的計數(shù)
-w:匹配整個單詞

grep 參數(shù) "內(nèi)容" 查找目錄或文件

(1).按內(nèi)容查找

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命令結(jié)合使用

先使用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命令總結(jié)

Android adb常用命令

玩轉(zhuǎn)Android adb命令(adb降級)

檢測車機中ADB遠(yuǎn)程調(diào)試控制Android系統(tǒng)攻擊

Android ANR/Crash Log日志分析技巧總結(jié)(建議收藏)

Android系統(tǒng)定制/測試(Crash/ANR等Bug/性能分析必備技巧)






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2967

    瀏覽量

    104747
  • Android系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    56

    瀏覽量

    13499

原文標(biāo)題:Android系統(tǒng)開發(fā)過程快速查找定位代碼的方法

文章出處:【微信號:哆啦安全,微信公眾號:哆啦安全】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Android系統(tǒng)開發(fā)之藍(lán)牙開發(fā)案例分析

    主題:Android系統(tǒng)開發(fā)之藍(lán)牙設(shè)備訪問技術(shù)要點分析及經(jīng)典案例課程內(nèi)容:本專題圍繞Android藍(lán)牙技術(shù)及設(shè)備訪問要點進(jìn)行介紹,為您解決藍(lán)牙開發(fā)
    發(fā)表于 07-24 16:32

    嵌入式系統(tǒng)開發(fā)過程中的常見問題和解決方法

    轉(zhuǎn)發(fā), 嵌入式系統(tǒng)開發(fā)過程中的常見問題和解決方法1. Bootloader如何寫入Flash ?初學(xué)者一般都會遇到如何將程序?qū)懭胩幚砥鞯膯栴}。對于不同的處理器,可以采用不同的方法。例如Intel
    發(fā)表于 09-12 13:30

    如何有效學(xué)習(xí)Android系統(tǒng)開發(fā)?

    水漲船高,職業(yè)晉升更快:數(shù)據(jù)來自招聘平臺和權(quán)威數(shù)據(jù)分析機構(gòu)如何有效學(xué)習(xí)Android系統(tǒng)開發(fā)?很多人在學(xué)習(xí)Android過程中總會面臨同一個難以逾越的困惑:看了不計其數(shù)的書和干貨文章
    發(fā)表于 07-25 13:49

    求大神詳細(xì)介紹一下FPGA嵌入式系統(tǒng)開發(fā)過程中的XBD文件設(shè)計

    求大神詳細(xì)介紹一下FPGA嵌入式系統(tǒng)開發(fā)過程中的XBD文件設(shè)計
    發(fā)表于 05-06 08:19

    嵌入式linux開發(fā)過程中遇到的坑

    目標(biāo)? 博文旨在總結(jié)自己嵌入式linux開發(fā)過程中遇到的坑?、一些小知識點的匯總。?等哪天發(fā)展到遠(yuǎn)離代碼了,還能回一下當(dāng)年的英姿。
    發(fā)表于 11-05 09:06

    談一下單片機開發(fā)過程中使用過的幾種調(diào)試方案

    運行一邊修改參數(shù)?調(diào)試的方法有多種,在這就來分別談一下我開發(fā)過程中使用過的幾種調(diào)試方案。這里的調(diào)試方案也是一種交互方案,但此方案不是為了交互而設(shè)計,重在快速地搭建、方便地使用、高效
    發(fā)表于 01-14 08:25

    單片機開發(fā)過程中怎樣使用定時器進(jìn)行定時及超時處理

    單片機開發(fā)過程中怎樣使用定時器進(jìn)行定時及超時處理?
    發(fā)表于 01-21 07:33

    基于DSPs的系統(tǒng)開發(fā)過程

    本內(nèi)容詳細(xì)介紹了基于DSPs的系統(tǒng)開發(fā)過程
    發(fā)表于 09-29 17:28 ?136次下載
    基于DSPs的<b class='flag-5'>系統(tǒng)開發(fā)過程</b>

    基于嵌入式汽車檢測系統(tǒng)開發(fā)過程的研究

    基于嵌入式汽車檢測系統(tǒng)開發(fā)過程的研究
    發(fā)表于 10-30 16:05 ?9次下載
    基于嵌入式汽車檢測<b class='flag-5'>系統(tǒng)開發(fā)過程</b>的研究

    代碼編寫器CCS的新特性的介紹和以及如何將它們應(yīng)用到代碼開發(fā)過程中

    記中介紹的材料著重于項目管理的這個和其他新特性,以及如何將它們應(yīng)用到代碼開發(fā)過程中。一些例子有助于引導(dǎo)讀者通過各種主題和技術(shù),指出有助于提供高效代碼開發(fā)的特征。
    發(fā)表于 05-03 16:42 ?6次下載
    <b class='flag-5'>代碼</b>編寫器CCS的新特性的介紹和以及如何將它們應(yīng)用到<b class='flag-5'>代碼</b><b class='flag-5'>開發(fā)過程中</b>

    嵌入式開發(fā)過程中的一點調(diào)試經(jīng)驗

    嵌入式開發(fā)過程中的一點調(diào)試經(jīng)驗嵌入式開發(fā)最麻煩的現(xiàn)場調(diào)試過程中或?qū)嶋H運營過程中出現(xiàn)問題很難定位
    發(fā)表于 11-02 18:06 ?15次下載
    嵌入式<b class='flag-5'>開發(fā)過程中</b>的一點調(diào)試經(jīng)驗

    聊聊汽車功能安全系統(tǒng)開發(fā)階段系統(tǒng)安全架構(gòu)

    架構(gòu)是一門藝術(shù),整車汽車系統(tǒng),軟/硬件開發(fā)過程中非常重要,尤其基于模型的系統(tǒng)開發(fā)(MBSE)
    發(fā)表于 09-26 11:30 ?2657次閱讀

    如何讀懂FPGA開發(fā)過程中的Vivado時序報告?

    FPGA開發(fā)過程中,vivado和quartus等開發(fā)軟件都會提供時序報告,以方便開發(fā)者判斷自己的工程時序是否滿足時序要求。
    發(fā)表于 06-26 15:29 ?1040次閱讀
    如何讀懂FPGA<b class='flag-5'>開發(fā)過程中</b>的Vivado時序報告?

    單片機開發(fā)過程中5種延遲代碼執(zhí)行的技術(shù)

    單片機項目開發(fā)過程中,經(jīng)常會出現(xiàn)一個有趣的問題,即弄清楚如何延遲代碼執(zhí)行。有時,[單片機開發(fā)]人員可能只是希望有10微秒的延遲,以使I/O線在讀取之前穩(wěn)定下來,或者可能希望
    的頭像 發(fā)表于 07-10 10:43 ?2258次閱讀

    Android校園應(yīng)用開發(fā)過程

    電子發(fā)燒友網(wǎng)站提供《Android校園應(yīng)用開發(fā)過程.pdf》資料免費下載
    發(fā)表于 10-19 11:36 ?0次下載
    <b class='flag-5'>Android</b>校園應(yīng)用<b class='flag-5'>開發(fā)過程</b>