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天内修改过的文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/135530.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CMOS介绍

1 二极管 2 CMOS 2.1 栅极、源极、漏极 2.2 内部结构 2.2 导电原理 - 原理:1.通过门级和衬底加一个垂直电场Ev,从而在两口井之间形成反形层2.如果加的电场足够强,反形层就可以把source(源极)和drain(漏极…

UML软件建模软件StarUML mac中文版软件介绍

StarUML for mac是一款UML建模器,StarUML for mac提供了几个模版,帮助用户建立使用新的图表,是目前最流行的UML建模工具,给开发工作带来大大的便利。 StarUML mac软件介绍 StarUML 是一个流行的软件建模工具,用于创建…

【车载开发系列】AutoSar中的CANTP

【车载开发系列】AutoSar中的CANTP 【车载开发系列】AutoSar中的CANTP 【车载开发系列】AutoSar中的CANTP一. CANTP相关术语二. CANTP相关概念1)单帧:SF(Single Frame)2)首帧:FF(First Frame)3)连续帧CF(Consecutive F…

原生微信小程序学习之旅(一) -来简单的使用

文章目录 取消导航栏标头组件创建添加Component组件接收传入的数据 页面创建(Page)关于tabBartabBar自定义样式 轮播图轮播图指示点样式改变 微信小程序快速获取用户信息路由跳转获取url路径中的参数 bindtap(click)传参wx:if编写用户登陆关于默认工程目前的获取方法尝试一下服…

python 中用opencv开发虚拟键盘------可以只选择一个单词不会出现一下选择多个

一. 介绍 OpenCV是最流行的计算机视觉任务库,它是用于机器学习、图像处理等的跨平台开源库,用于开发实时计算机视觉应用程序。 CVzone 是一个计算机视觉包,它使用 OpenCV 和 Media Pipe 库作为其核心,使我们易于运行&#xff0c…

Apache和Nginx实现虚拟主机的3种方式

目录 首先介绍一下Apache和nginx: Nginx和Apache的不同之处: 虚拟主机 准备工作 Apache实现: 方法1:使用不同的ip来实现 方法2:使用相同的ip,不同的端口来实现 方法3:使用相同的ip&…

解决游戏找不到x3daudio1_7.dll文件的5个方法,快速修复dll问题

在电脑使用过程中,我们经常会遇到一些错误提示,其中之一就是“x3daudio1_7.dll丢失”。这个错误通常会导致软件游戏无法正常启动运行。为了解决这个问题,我们需要采取一些措施来修复丢失的文件。本文将详细介绍解决x3daudio1_7.dll丢失的方法…

企业云盘与个人云盘:区别与特点一览

企业云盘是企业在寻找文件协同工具的过程中绕不开的一个选项。企业为什么需要专门购置企业网盘,个人云盘能否满足企业的文件协作需求呢?企业云盘和个人云盘有什么区别呢? 企业云盘与个人云盘的区别 1、使用对象:顾名思义&#xf…

Java 简单实现一个 TCP 回显服务器

文章目录 TCP 服务端TCP 客户端实现效果TCP 服务端(实现字典功能)总结 TCP 服务端 package network;import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Soc…

【C++】C++入门详解 II【深入浅出 C++入门 这一篇文章就够了】

C入门 七、引用(一)引用 概念(1)引用 概念(2)引用 使用★☆(3)引用 特性(4)常引用 (二)引用的 实际应用 及 其意义☆(1&am…

合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(一)

基于ARM语音识别的智能家居系统 我们接下来带大家完成基于语音识别的智能家居系统嵌入式项目实战,使用到stm32开发板,讯飞的离线语音识别,我们在此之前,我们先学习一些Linux系统的基本操作。 。 一、Linux简介 在嵌入式开发中&am…

matlab 二自由度操纵稳定性汽车模型

1、内容简介 略 19-可以交流、咨询、答疑 二自由度操纵稳定性汽车模型 二自由度、操纵稳定性、操纵动力学 2、内容说明 1 模型假设 忽略转向系的影响,以前、后轮转角作为输入;汽车只进行平行于地面的平面运动,而忽略悬架的作用&#xf…

从虚拟机下载开始的kubeSphere安装

目录 一、虚拟机安装 二、镜像下载安装 1、镜像下载 2、虚拟机创建 3、虚拟机系统安装 三、虚拟机配置 1、IP固定 2、配置yum阿里源 3、关闭防火墙 4、 关闭selinux 5、 禁止swap交换 6、内核参数修改 7、设置kubernetes源 四、docker安装 五、虚拟机分组 六、…

华为ensp:开启rstp修改根网桥

开启rstp 首先去三台交换机上进入系统视图分别开启rstp模式 stp mode rstp 三台交换机上都执行这个命令,就开启rstp模式了 修改根网桥 现在进入要被修改的交换机的系统视图 stp priority 4096 这里我们修改只要比别的交换机数值小就可以,最小的就是…

振南技术干货集:研发版本乱到“妈不认”? Git!(4)

注解目录 1、关于 Git 1.1Git 今生 (Git 和 Linux 的生父都是 Linus,振南给你讲讲当初关于 Git 的爱恨情愁,其背后其实是开源与闭源两左阵营的明争暗斗。) 1.2Git的爆发 (Git 超越时代的分布式思想。振南再给你讲讲旧金山三个年轻人创办 GitHub&…

(一)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB

一、七种算法(DBO、LO、SWO、COA、LSO、KOA、GRO)简介 1、蜣螂优化算法DBO 蜣螂优化算法(Dung beetle optimizer,DBO)由Jiankai Xue和Bo Shen于2022年提出,该算法主要受蜣螂的滚球、跳舞、觅食、偷窃和繁…

Java 简单实现一个 UDP 回显服务器

文章目录 UDP 服务端UDP 客户端实现效果UDP 服务端(实现字典功能)总结 UDP 服务端 package network;import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException;public class UdpEchoServer {private Da…

如何判断从本机上传到服务器的文件数据内容是一致的?用md5加密算法!

问题场景 最近在帮导师做横向,我想把整个项目环境放到服务器中,需要把一个很大的数据文件传到服务器,传上去很方便,但是涉及到文件的压缩上传和服务器内解压环节,不是太确定文件在本机和服务器的数据内容是否一致。 解…

C/C++调试工具 - gdb详解

C/C调试工具 -gdb详解 1 简介 2 常用的命令 3 使用的条件 4 程序调试 4.1 直接运行程序 4.2 断点调试(在某一行) 4.3 断点调试(在函数入口处打断点) 5 调试core文件 5.1 生成core文件的方法 5.2 调试core文件 1 简介 GDB是Linux下非常好用且强大的调试工具。GD…

使用 Ruby 的 Nokogiri 库来解析

爬虫程序的主要目标是获取指定网站上的数据。在这里,我们将使用 Ruby 的 Nokogiri 库来解析 HTML,并使用 HTTParty 库来发送 HTTP 请求。下面是一个简单的示例,演示如何使用 Ruby 编写一个爬虫程序来爬取 1688 网站的数据。 require nokogir…