美文网首页
Android调试技巧—点击Log跳转到指定源码位置

Android调试技巧—点击Log跳转到指定源码位置

作者: 小木桨 | 来源:发表于2016-05-09 15:15 被阅读411次

log的一般用法就不必说了,想必大家都经常用,主要分享一下log的在一些特殊情景下使用。

情景1

Q: 假如刚接手一个新项目,不熟悉每个界面对应哪个Activity,如何做到快速定位到对应的Activity源码中?

A: 首先需要所有的Activity都继承一个自定义的BaseActivity,然后在BaseActivity中的onCreate方法中输出log,指出当前所在界面的Activity:

public class BaseActivity extends FragmentActivity{

  @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        //指出当前所在的Activity以及点击跳转的行号
        Log.d(TAG,"Activity At ("+getClass().getSimpleName()+".java:0)");
    }
}

情景2

Q: 如何快速跳转到输出log的位置?

A: 新建一个log工具类,方便统一管理和扩展,增加一个静态方法,源码如下:

public static void showLog(String msg) {

        StackTraceElement[] stackTraceElement = Thread.currentThread()
                .getStackTrace();
        int currentIndex = -1;
        for (int i = 0; i < stackTraceElement.length; i++) {
            if (stackTraceElement[i].getMethodName().compareTo("showLogCat") == 0)
            {
                currentIndex = i + 1;
                break;
            }
        }

        String fullClassName = stackTraceElement[currentIndex].getClassName();
        String className = fullClassName.substring(fullClassName
                .lastIndexOf(".") + 1);
        String methodName = stackTraceElement[currentIndex].getMethodName();
        String lineNumber = String
                .valueOf(stackTraceElement[currentIndex].getLineNumber());

        Log.i(TAG, msg);
        Log.i(TAG, "at " + fullClassName + "." + methodName + "("
                + className + ".java:" + lineNumber + ")");

    }

相关文章

  • Android调试技巧—点击Log跳转到指定源码位置

    log的一般用法就不必说了,想必大家都经常用,主要分享一下log的在一些特殊情景下使用。 情景1 Q: 假如刚接手...

  • 利用chrome对web断点调试

    打一个console.log('')作为入口,点击跟进源码,在源码中进行断点调试

  • Go项目远程调试

    调试方式 打印/日志调试:依赖fmt.Println、log等方式进行调试,显得非常麻烦,每次都要在指定代码位置敲...

  • adb源码调试

    基于android8 1. 源码调试log开关 属性 persist.adb.trace_mask 设为 all ...

  • 在Android studio中调试aosp源码

    在Android studio中调试aosp源码 可选,修改Android studio的内存配置 配置文件位置为...

  • 链接回代码的Log

    Android开发中,调试程序时会打印log,当log足够多的时候,想要找到打印log的位置就比较麻烦,不得已还得...

  • 自己动手编译Android源码(超详细)

    在Android Studio代码调试一文中,简单的介绍了代码调试的一些技巧.现在我们来谈谈android源码编译...

  • 自己动手编译Android源码(超详细)

    在Android Studio代码调试一文中,简单的介绍了代码调试的一些技巧.现在我们来谈谈android源码编译...

  • 锚点定位和动态导航

    需求:右侧有导航栏,点击可以跳转到页面指定位置,同时页面滚动到指定的位置,右侧的导航栏也根据位置进行高亮变化。CS...

  • vue-scrollBehavior

    需求:点击跳转到指定页面并定位到页面的指定标题位置 官方方案:scrollBehavior 限制:需要在histo...

网友评论

      本文标题:Android调试技巧—点击Log跳转到指定源码位置

      本文链接:https://www.haomeiwen.com/subject/forerttx.html