Android系统开发快速寻找代码(如何在文件夹中寻找代码)

很多时候对于Android系统开发小白而言,例如预置APK,知道了APK包名不知道具体代码位置需要去寻找代码,但是Android系统代码十分庞大,如何快速准确查询代码是个问题。

本人目前只探索到了一些方法,如有更有效的办法可以补充。

1.Android Studio自带的全文、全文件夹、全模块等查找

Ctrl+Shift+F查找功能,如果这个按键没有生效可能需要设置,

可以先尝试一下Ctrl+shift+R替换功能

可以通过选择In Project/Module/Directory/Scope来设置查找方式

如果你是个APP开发者这是一个非常好用的办法,但是如果是Android系统开发你会发现此功能的局限性,因为他需要加载完项目才可以进行该功能。

2.Visual Studio Code查找功能

VSCode相较与AS的优势在于不需要进行加载就可以进行搜索,但是缺点是没有AS加载后搜索代码那么快,甚至会出现落下某处未筛选出来的地方

打开VSCode在左侧便是搜索界面

3.python脚本查找

这个功能可以自行百度查一下,但是因为我python并不会所以并没有用过,可能大致就是python语句来遍历文件夹的文本进行遍历,如果有符合要求的则列出文件的路径

4.Linx系统下find命令查找

因为Android系统开发绝大部分会有Linx系统,所以find查找命令可以使用,并且效率高,速度相对更快。这也是我最近发现的,也是喜欢用的方法。(一般配合着AS、VSCode多方一起查找)

终端命令如下,先cd到想要搜索的路径:

find . | xargs grep -ri "Activity" -l

以上命令是在目录下搜索Activity的文本,解释一下命令:

  1. find .: 这部分命令用于在当前目录(以.表示)及其子目录中查找文件。find命令的基本语法是find [搜索路径] [匹配条件] [操作]

  2. |: 这是管道符,将find命令的输出传递给下一个命令。

  3. xargs: 这个命令用于将前一个命令的输出作为参数传递给后面的命令。在这里,它将find命令的输出传递给后面的grep命令。

  4. grep: 用于在文件中搜索指定的文本模式。在这里,grep -ri "csdn.net" -l的含义是:

    • -r: 递归地搜索子目录。
    • -i: 忽略大小写。
    • -l: 只列出包含匹配模式的文件名,而不显示匹配的具体内容。

其他一些常用的find命令用法包括:

按文件名查找:
find /path/to/search -name "filename"
按类型查找:
find /path/to/search -type f  # 查找普通文件
find /path/to/search -type d  # 查找目录
按大小查找:
find /path/to/search -size +10M  # 查找大于10MB的文件
find /path/to/search -size -1G   # 查找小于1GB的文件
按时间查找:
find /path/to/search -mtime -7  # 查找在过去7天内修改过的文件

猜你喜欢

转载自blog.csdn.net/m0_59558544/article/details/134336116