
場景
在做Android軟件開發(fā)的時候,查看實時Log是有效的debug方式之一,如果軟件只關(guān)聯(lián)到一部手機,那使用IDE的log查看工具或者adb log都行。但如果要同時查看多部手機上的實時log,總不能搞多個筆記本在那邊adb log看吧?接下來我來介紹一個可以有效解決這個問題的工具Lolly。
Lolly
Lolly是一個開源的Android lib庫,它的主要功能就是在手機上顯示一個類似終端的窗口,然后顯示本應(yīng)用的所有l(wèi)og,并且可以根據(jù)log的優(yōu)先級和tag來過濾log,下面就來認識一下Lolly。

動圖如下:

下面看看如何在自己的工程中使用Lolly。
首先在build.gradle加入對應(yīng)依賴:
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是一個后臺服務(wù),用于抓取log并在窗口中顯示。LollyViewer是一個簡單的log查看器。
添加完組件后別忘了加上相應(yīng)的權(quán)限:
<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" />
上訴幾個權(quán)限在Android6.0及以上需要動態(tài)申請,這個就不贅述了,不清楚的稍后看源碼。下面看看Lolly對外提供的幾個接口:
public static void showLolly(android.app.Activity activity,
java.lang.String[] tags)
顯示Lolly窗口,其中tags是你需要過濾的tag數(shù)組,可以為空。
public static void hideLolly(@NotNull android.app.Activity activity)
移除Lolly窗口。
public static void saveLog(@NotNull android.app.Activity activity)
保存當(dāng)前日志到本地的lolly目錄。
上面三個接口就是Lolly對外的全部接口了,下面看一下LollyViewer的使用方法,當(dāng)使用Lolly的saveLog保存完log后,在文件管理器中點擊此文件,選擇包含了LollyViewer打開就行了,界面如下:

源碼
自然,這也是一款開源庫,github地址如下:
希望Lolly能給大家?guī)硪环N新的log查看體驗。
