当前位置:   article > 正文

android 应用开发 log,Android应用开发Android logcat信息记录到手机文件的方法

android app use log develop

本文将带你了解Android应用开发Android logcat信息记录到手机文件的方法,希望本文对大家学Android有所帮助。

这里介绍两种方法:目前使用   方法一

方法一:

添加权限:

示例代码:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

public class MyApp extends Application {

private Process mLogProcess;

@Override

public void onCreate() {

super.onCreate();

try {

int pid =   android.os.Process.myPid();

Log.d("MyApp",   "PID is " + pid);

Calendar calendar =   Calendar.getInstance();

String filename =   String.format("/sdcard/MyApp_Log_%04d%02d%02d_%02d%02d%02d.txt",

calendar.get(Calendar.YEAR),

calendar.get(Calendar.MONTH),

calendar.get(Calendar.DAY_OF_MONTH),

calendar.get(Calendar.HOUR_OF_DAY),

calendar.get(Calendar.MINUTE),

calendar.get(Calendar.SECOND));

mLogProcess =   Runtime.getRuntime().exec(String.format("logcat -v time -f %s",   filename));

} catch (IOException e) {

e.printStackTrace();

}

}

@Override

public void onTerminate() {

super.onTerminate();

if(mLogProcess != null ){

mLogProcess.destroy();

}

}

}

方法二:

添加权限 同上;

示例代码:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

package com.way.util;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import android.content.Context;

import android.os.Environment;

/**

* log日志统计保存

*

* @author way

*

*/

public class LogcatHelper {

private static LogcatHelper INSTANCE   = null;

private static String   PATH_LOGCAT;

private LogDumper mLogDumper =   null;

private int mPId;

/**

*

* 初始化目录

*

* */

public void init(Context context)   {

if (Environment.getExternalStorageState().equals(

Environment.MEDIA_MOUNTED)) {// 优先保存到SD卡中

PATH_LOGCAT =   Environment.getExternalStorageDirectory()

.getAbsolutePath() + File.separator + "miniGPS";

} else {//   如果SD卡不存在,就保存到本应用的目录下

PATH_LOGCAT =   context.getFilesDir().getAbsolutePath()

+ File.separator   + "miniGPS";

}

File file = new   File(PATH_LOGCAT);

if (!file.exists()) {

file.mkdirs();

}

}

public static LogcatHelper   getInstance(Context context) {

if (INSTANCE == null) {

INSTANCE = new   LogcatHelper(context);

}

return INSTANCE;

}

private LogcatHelper(Context   context) {

init(context);

mPId =   android.os.Process.myPid();

}

public void start() {

if (mLogDumper == null)

mLogDumper = new   LogDumper(String.valueOf(mPId), PATH_LOGCAT);

mLogDumper.start();

}

public void stop() {

if (mLogDumper != null) {

mLogDumper.stopLogs();

mLogDumper = null;

}

}

private class LogDumper extends   Thread {

private Process logcatProc;

private BufferedReader   mReader = null;

private boolean mRunning =   true;

String cmds = null;

private String mPID;

private FileOutputStream out   = null;

publicbody{ }

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/684796
推荐阅读
相关标签
  

闽ICP备14008679号