保存android程序崩溃日志到SD卡

jopen 10年前

private boolean writeToSDCard(Throwable ex)     {        boolean isDealing = false;        if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))        {            RandomAccessFile randomAccessFile = null;            try            {                String fileName = SDCARDROOT + File.separator + "logs" + File.separator + "crash" + File.separator;                File file = new File(fileName);                if(!file.exists())                    file.mkdirs();                randomAccessFile = new RandomAccessFile(fileName + paserTime(System.currentTimeMillis())+ ".log", "rw");                long fileLength = randomAccessFile.length();                randomAccessFile.seek(fileLength);                randomAccessFile.writeBytes(getThrowableInfo(ex));            }             catch (IOException e)             {                e.printStackTrace();            }             finally             {                if (randomAccessFile != null)                {                    try                     {                        randomAccessFile.close();                        isDealing = true;                    }                     catch (IOException e)                    {                        e.printStackTrace();                    }                }            }        }        return isDealing;    } 

private static String getThrowableInfo(Throwable ex)    {        StringWriter stringWriter = new StringWriter();        PrintWriter printWriter = new PrintWriter(stringWriter);        ex.printStackTrace(printWriter);        return stringWriter.toString();    }  
</div> </div>