Android Activity重写dump方法实现通过adb调试代码

概述:

android为我们提供了dump方法。注释中声明该方法会将活动的状态打印到给定流中,当cmd运行“adb shell dumpsys activity”时会调用此函数。所以当我们要做一些测试,就可以在activity重写dump函数编写我们的测试逻辑。

实现方法:activity重写dump方法

args是adb传进来的命令参数

调用 writer.println 即可将想要打印的东西输出到adb窗口

    @Override
    public void dump(@NonNull String prefix, @Nullable FileDescriptor fd, @NonNull PrintWriter writer, @Nullable String[] args) {
        Log.e(TAG,prefix);
        Log.e(TAG,args[0]);
        writer.println("No providers match: " + args[0]);
        //super.dump(prefix, fd, writer, args);
    }

测试命令 :dumpsys activity 包名 参数


dump除了适用于activity以外,同样也适用于service和contentprovide。cmd唯一的区别是adb shell dumpsys activity …改为adb shell dumpsys activity service … 或者adb shell dumpsys activity provider …
dumpsys 命令使用_dumpsys binder-CSDN博客

你可能感兴趣的:(android,adb)