【发布时间】:2018-10-16 20:23:04
【问题描述】:
有没有办法查看在连接到 Android Studio 之前记录的 Android 日志?
我有一个跟踪 GPS 位置的应用程序。问题是它在一段时间后终止,我收到 Android 系统消息,上面写着“应用程序终止”
我想看看哪里出了问题。当我稍后连接 Android Studio 时,它会显示连接时发生的日志。
我想要过去的日志。
【问题讨论】:
标签: android android-studio logging
有没有办法查看在连接到 Android Studio 之前记录的 Android 日志?
我有一个跟踪 GPS 位置的应用程序。问题是它在一段时间后终止,我收到 Android 系统消息,上面写着“应用程序终止”
我想看看哪里出了问题。当我稍后连接 Android Studio 时,它会显示连接时发生的日志。
我想要过去的日志。
【问题讨论】:
标签: android android-studio logging
您可以尝试解决以下问题:
1) 我一般在有这种情况要测试的时候写日志。
public static void writeToFile(String msg) {
Log.d("MyApp", msg);
try {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
FileOutputStream dio = null;
File file = new File(Environment.getExternalStorageDirectory(), "MyApp_File_Logs.txt");
if (file != null) {
try {
dio = new FileOutputStream(file, true);
dio.write((msg+"\n").getBytes());
dio.close();
dio = null;
} catch (Exception e) {
e.printStackTrace();
}
}
}
} catch (Exception e) {
Log.e("MyApp", "Exception in writeToFile(): " + e.getMessage());
}
}
所以代替 Log.d ,使用这个 Utility 方法。您可以在消息中添加更准确的时间。 忘记给你的应用写入外部存储权限
2) 看到 crash 后,转到命令提示符 并使用以下命令:
adb shell
logcat -b crash
如果您在一分钟左右内连接,您可能会在其中看到一些内容
3) 在您的开发者选项中增加“Logger Buffer Size”,但是在这种情况下,当您将设备连接到 adb 并打开 logcat 时,您会看到获取日志的延迟。
【讨论】:
你可以在你的应用中添加一个日志模块,让日志模块将你应用的日志输出到本地文件中,比如logger
【讨论】: