Android写Logcat文件保存到SD卡

String shell = "logcat";
                try
                {
                    Process process = Runtime.getRuntime().exec(shell);
                    InputStream inputStream = process.getInputStream();
                    
                    
                    boolean sdCardExist = Environment.getExternalStorageState().equals(
                            android.os.Environment.MEDIA_MOUNTED);
                    File dir = null;
                    if (sdCardExist)
                    {
                        dir = new File(Environment.getExternalStorageDirectory().toString()
                                + File.separator + "logcatwyx.txt");
                        if (!dir.exists())
                        {
                            dir.createNewFile();
                        }

                    }
                    byte[] buffer = new byte[1024];
                    int bytesLeft = 5 * 1024 * 1024; // Or whatever
                    try
                    {
                        FileOutputStream fos = new FileOutputStream(dir);
                        try
                        {
                            while (bytesLeft > 0)
                            {
                                int read = inputStream.read(buffer, 0, Math.min(bytesLeft,
                                        buffer.length));
                                if (read == -1)
                                {
                                    throw new EOFException("Unexpected end of data");
                                }
                                fos.write(buffer, 0, read);
                                bytesLeft -= read;
                            }
                        } finally
                        {
                            fos.close(); // Or use Guava's
                                         // Closeables.closeQuietly,
                            // or try-with-resources in Java 7
                        }
                    } finally
                    {
                        inputStream.close();
                    }
//                    String logcat = convertStreamToString(inputStream);
//                    outputFile2SdTest(logcat, "logwyx.txt");
                    Log.v(TAG, "LOGCAT = ok" );
                } catch (IOException e)
                {
                    e.printStackTrace();
                }



pid=`ps | grep logcat | awk '{print $2}'` && kill $pid


pid=`ps | grep logcat | awk '{print $2}'` && kill $pid


你可能感兴趣的:(android,String,shell,kill,buffer,byte)