使用LogPhoneUtil工具类在Android手机保存APP运行日志

  最近公司的测试老是提出这样那样的bug,当然也怪自己代码写的烂,所以测试总是会把app搞崩溃,而他们那边崩溃的时候还没有日志打印,自己回来再重现有的时候还真不好复现出来,因此麻烦事就来了。为了方便查看测试手机的bug原因,周末在家专门写了个小工具,只要在项目的Log类中打印的时候添加LogPhoneUtil类的打印,就可以方便的在app的运行手机上保存日志了。简单介绍一下思路,源码在GIthub上,也可自行查看。https://github.com/MuBob/PhoneLogUtil;

  首先编写日志文件管理类FileUtil,用于检测sdcard是否存在,从而创建不同目录下的日志文件。

  之后创建对日志文件进行读写的IOUtil类,用于操作文件流进行文件写入操作。

  最后创建LogUtil类,在打印的地方分别调用该类相应的过滤词就可以了。

  简单的三步,关键是在LogUtil类中对文件进行读写时,为了不在主线程操作从而引起界面卡顿现象,需要开启子线程,而开启子线程的话就需要对日志文件加锁操作,这样就可以轻松的使用这个工具类了。

  

时间: 2024-10-26 05:27:26

使用LogPhoneUtil工具类在Android手机保存APP运行日志的相关文章

关于Android的Build类——获取Android手机设备各种信息

经常遇到要获取Android手机设备的相关信息,来进行业务的开发,比如经常会遇到要获取CPU的类型来进行so库的动态的下载.而这些都是在Android的Build类里面.相关信息如下: private String loadSystemInfo() { StringBuilder sb = new StringBuilder(); sb.append("主板:" + Build.BOARD + "\n"); sb.append( "系统启动程序版本号:&q

mac平台使用adb、tcpdump工具抓取android手机网络包

在开发手机app的时候我们想看下自己app发出的网络请求,这个时候我们需要tcpdump工具进行抓包.要实现tcpdump抓包,需要以下几步: 这里以android 手机华为 P6为例子 1. 手机ROOT 要使用tcpdump工具,必需先获得手机的root权限,试过好几种root工具,最后发现360的一键ROOT工具可对P6这台机器root 下载PC版的360一键root工具,下载地址 , 然后用usb线将手机链接到电脑,同时打开USB调试(设置->开发人员选项->USB调试) 然后按照他的

Android下常用的正则表达式判断工具类代码(手机,电话,Email,日期等待)

package com.yaowen.mytest; import java.io.IOException; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Check { // 判断电话 public static boolean isTelephone(String phonenumber) { String phone = "0\\d{2,3}-\\d{7,8}"; Patt

TelephonyManager类:Android手机及Sim卡状态的获取

TelephonyManager这个类很有用,可以得到很多关于手机和Sim卡的信息. 直接上注释后的代码,请享用 package net.sunniwell.app;import android.app.Activity;import android.os.Bundle;import android.telephony.CellLocation;import android.telephony.PhoneStateListener;import android.telephony.Telepho

关于android开发工具无法识别android手机的情况总结

 1.手机内部状态出了问题.一般来说,重新打开“USB调试”就可以解决这个问题,但是有时需要重启手机或PC才行. 2.USB供电不足.如果是这个原因,那么就需要更换USB连接线或者USB插口. 3.没有安装相应的驱动.这个问题一般只针对Windows用户才存在,安装驱动就可以解决问题.如果是Linux或Mac OS X用户,则无需安装驱动. 4.其它程序干扰.就我个人情况而言,经常就是由于“豌豆夹”的运行,导致Eclipse无法识别到手机.杀掉它. 5.adb等的版本过低.升级Android的一

【工具类】获取手机sim卡的运营商

加入权限:<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 1 package com.example.textphone; 2 3 import android.content.Context; 4 import android.telephony.TelephonyManager; 5 6 public class SIMCardInfo { 7 /** 8 * Telephon

ValidateUtil常用验证工具类,如手机、密码、邮箱等

package cn.com.ssk.util.utils; import java.util.regex.Pattern; import org.apache.commons.lang3.StringUtils; /** * 常用的一些验证,如手机.移动号码.联通号码.电信号码.密码.座机. 邮政编码.邮箱.年龄.身份证.URL.QQ.汉字.字母.数字等 */ public class ValidateUtil { /** 手机号规则 */ public static final String

Android 分享一个SharedPreferences的工具类,方便保存数据

我们平常保存一些数据,都会用到SharedPreferences,他是保存在手机里面的,具体路径是data/data/你的包名/shared_prefs/保存的文件名.xml, SharedPreferences的使用也很简单,我自己就写了一个SharedPreferences的工具类,然后就保存在这里,等自己以后需要保存数据直接从这里copy代码,哈哈 工具类如下 [java] view plaincopy package com.example.shortcut; import androi

Android中常用的工具类01

1.图片和视频缩略图工具类 import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.media.ThumbnailUtils; /** * 缩略图生成工具类 * @author * */ public class ThumbnailGenerateUtils { private ThumbnailGenerateUtils(){}; /** * 根据指定的图像路径和大小来获取缩略图