如何确定哪个文件对应于 Android 应用程序上的屏幕?

Posted

技术标签:

【中文标题】如何确定哪个文件对应于 Android 应用程序上的屏幕?【英文标题】:How to determine which file corresponds to a screen on an Android app? 【发布时间】:2021-08-17 01:51:34 【问题描述】:

我正在开发一个非常大的 android 应用程序,它被分成许多不同的模块。当我接到一项任务时,可能很难找到我需要处理的文件。

 

我希望将设备连接到 Android Studio,导航到应用程序上的相关屏幕,并使用 Logcat 过滤掉 ActivityManager 以找出活动名称。这在过去工作得很好,但对于这个庞大的代码库来说效果并不好。

 

所以我想问一下是否有人对如何解决这个问题有任何建议?现在我最终浪费了大量时间,只是试图找到与当前屏幕匹配的文件,这让我很紧张。

编辑:我还应该说,有没有标准的方法来解决这个问题?是否应该有某种可用的文档?一般来说,将文件与屏幕匹配的最佳方法是什么?谢谢。

【问题讨论】:

一种方法是将设备连接到 Android Studio,导航到应用程序上的相关屏幕并使用“布局检查器”查找有关屏幕的一些相关信息,例如正在使用的 id .使用 id,您可以进行全局搜索以定位 XML 文件(假设这是您正在使用的文件),并且使用 XML 文件的名称,您应该能够识别活动/片段。我实际上并没有这样做,但它似乎会起作用。 @Cheticamp 好主意,谢谢分享!我会尝试一下,看看它在实践中是如何工作的。 那么,我的建议对你不起作用? 【参考方案1】:

我刚刚遇到了这种能力。似乎在 Layout Inspector for APIs 29、30 以及以上声明的属性部分可以identify the layout source。

只需在 API 29+ 模拟器或设备中运行应用即可。

【讨论】:

以上是关于如何确定哪个文件对应于 Android 应用程序上的屏幕?的主要内容,如果未能解决你的问题,请参考以下文章

如何确定使用哪个 android 市场下载我的应用程序

如何确定当前应用在 LibGDX 中运行在哪个平台上?

如何确定我的应用程序是不是在 Android 上运行 [重复]

如何手动确定哪个链接器与给定的 libc 文件和给定的二进制文件一起使用?

Android 如何查找so文件所在目录,安装APK时so安装到哪个目录

如何确定安装了哪个版本的 Direct3D?