美文网首页android开发专题程序猿大本营Android
Android软件开发Log实时查看方式(无需数据线)

Android软件开发Log实时查看方式(无需数据线)

作者: _番茄沙司 | 来源:发表于2016-08-15 14:36 被阅读3387次

    场景

    在做Android软件开发的时候,查看实时Log是有效的debug方式之一,如果软件只关联到一部手机,那使用IDE的log查看工具或者adb log都行。但如果要同时查看多部手机上的实时log,总不能搞多个笔记本在那边adb log看吧?接下来我来介绍一个可以有效解决这个问题的工具Lolly

    Lolly

    Lolly是一个开源的Android lib库,它的主要功能就是在手机上显示一个类似终端的窗口,然后显示本应用的所有log,并且可以根据log的优先级和tag来过滤log,下面就来认识一下Lolly。

    动图如下:

    下面看看如何在自己的工程中使用Lolly。

    首先在build.gradle加入对应依赖:

    dependencies {
        ...
        compile 'com.zql.android:lolly:1.1'
    }
    

    接着在AndroidManifest.xml中注册Lolly

            <service
                android:name="com.zqlite.android.lolly.Lolly"
                android:enabled="true"
                android:exported="false"
                android:process=":remote" />
    
            <activity android:name="com.zqlite.android.lolly.LollyViewer">
                <intent-filter>
                    <category android:name="android.intent.category.DEFAULT" />
    
                    <action android:name="android.intent.action.VIEW" />
    
                    <data android:scheme="file" />
                    <data android:scheme="content" />
                    <data android:mimeType="text/plain" />
                </intent-filter>
            </activity>
    

    其中Lolly是一个后台服务,用于抓取log并在窗口中显示。LollyViewer是一个简单的log查看器。

    添加完组件后别忘了加上相应的权限:

        <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
        <uses-permission android:name="android.permission.READ_LOGS" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    

    上诉几个权限在Android6.0及以上需要动态申请,这个就不赘述了,不清楚的稍后看源码。下面看看Lolly对外提供的几个接口:

    public static void showLolly(android.app.Activity activity,
                                 java.lang.String[] tags)
    

    显示Lolly窗口,其中tags是你需要过滤的tag数组,可以为空。

    public static void hideLolly(@NotNull android.app.Activity activity)
    

    移除Lolly窗口。

    public static void saveLog(@NotNull android.app.Activity activity)
    

    保存当前日志到本地的lolly目录。

    上面三个接口就是Lolly对外的全部接口了,下面看一下LollyViewer的使用方法,当使用Lolly的saveLog保存完log后,在文件管理器中点击此文件,选择包含了LollyViewer打开就行了,界面如下:

    源码

    自然,这也是一款开源库,github地址如下:

    LollyDemo

    希望Lolly能给大家带来一种新的log查看体验。

    相关文章

      网友评论

        本文标题:Android软件开发Log实时查看方式(无需数据线)

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