当前位置: 首页 > 面试题库 >

适用于APK应用程序的类似Dumpsys的功能

徐弘图
2023-03-14
问题内容

我正在寻找一种解决方案,可以从adb访问我们应用程序的内部状态以进行调试。我已经使用了dumpsys来获取系统服务的内部状态,所以现在我想知道是否可以将应用程序的接口公开到adb。到目前为止,我唯一想到的就是定期记录信息,然后只读取logcat,但如果可能的话,我希望能够通过adb直接与应用程序进行交互,因此问题是如何在我们的应用程序中实现此功能。


问题答案:

在您的Activity覆盖dump()方法中,例如:

@Override
public void dump(String prefix, FileDescriptor fd, PrintWriter writer, String[] args) {
    //super.dump(prefix, fd, writer, args);
    writer.println();
    writer.println("command line arguments:");
    writer.format("length: %d, args: %s", args.length, Arrays.toString(args)).println();
}

然后启动Activity并在终端中输入:

adb shell dumpsys activity top your cmd line arguments

要么:

adb shell dumpsys activity top

如果您不想将任何参数传递给dump()方法

同样的方法在其他部件存在类似ServiceContentProvider-通过看他们如何调用这些官方文件adb shell dumpsys activity的命令,也有一些有自己的类dump()方法可以用于转储其内部状态-
例如ApplicationInfoActivityInfoLooperHandlerBinderFragment和许多其他



 类似资料:
  • 问题内容: 我将使用keycloak保护我的golang应用程序,但keycloak本身不支持go语言。 github中有一些go适配器作为一个开放项目,已经将openId connect协议实现为提供程序服务,但是它们没有提供有关如何将库与应用程序集成的示例或文档。 如何使用Golang与Keycloak互动? 问题答案: 如您所指出的,没有用于golang的官方keycloak适配器。但是实现

  • 问题内容: 您可以在Google Chrome中使用类似Firebug的东西吗? 我想要的基本功能: 检查HTML源(选择元素,将其删除等) 检查CSS值(内置解决方案有些奇怪) 问题答案: Chrome已经内置了类似Firebug的工具。只需右键单击页面上的任意位置,然后从菜单中选择“检查元素”。Chrome具有用于调试的图形工具(例如在Firebug中),因此您可以调试JavaScript。它

  • 当我在Android手机上调试应用程序时,我绝对没有遇到任何错误,但在AVD上,我一开始就得到了一个NullPointerException()。我的Android设备在22 API的Lollipop(5.1.1)上运行,我的AVD在28 API的Pie(9.0)上运行。我在gradle中将最小SDK设置为21,编译SDK设置为28。 这是错误: E/AndroidRuntime:致命异常:主进程

  • 问题描述 我有一个基于spring boot的应用程序,可以在第三方环境中创建实体<应用程序部署在prod上。我发现了一个bug,修复该bug需要对第三方prod实体上已经创建的实体进行更改<预期解决方案第三方产品环境实体正在修复运行基于java的脚本 我希望该脚本仅在第一次部署具有修复程序的应用程序版本时在prod中运行<我正在寻找Flyway为数据库实体提供的相同功能。我可以使用Flayway

  • 问题内容: 按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我正在使用Python(Django)开发Web应用程序,并且想知道在进行生产部署时MySQL还是PostgreSQL更合适。 乔尔(Joel)在一个播客中说,

  • 问题内容: 我正在用Java编写一个简单的控制台应用程序(80x24),是否有等效的gotoxy(x,y)? 问题答案: 如果要通过gotoxy(x,y)将光标重新定位在控制台上特定的位置,则通常可以使用VT100控制代码来执行此操作。参见http://www.termsys.demon.co.uk/vtansi.htm。 做类似的事情 它将光标移动到控制台上的位置10,10。