如果我想记录Android Studio将在其控制台中显示的消息,我可以这样做:
import 'dart:developer';
void main() {
log('Hello world!');
runApp(const MyApp());
}
但是如果我打包应用程序,运行它,然后用logcat
查找它,它就不存在了。
flutter build apk
adb install build/app/outputs/flutter-apk/app-release.apk
adb shell am start -a android.intent.action.MAIN -n com.example.myapp/.MainActivity
adb logcat -t '12-08 00:00:00.000' | grep Hello
这将导致空输出。那么我如何记录系统消息,而不仅仅是IDE调试消息呢?
2条答案
按热度按时间4urapxun1#
请使用
print()
或debugPrint()
。你有两种方法来记录你的应用程序。第一种是使用stdout和stderr。通常,这是通过print()语句完成的,或者通过导入dart:io并调用stderr和stdout上的方法。
如果你一次输出太多,Android有时会丢弃一些日志行。为了避免这种情况,请使用Flutter基础库中的debugPrint()。
有关详细信息,请查看Debugging Flutter apps programmatically。
xiozqbni2#
另外,如果你想在你的flutter应用程序中获得日志消息,请检查pub.dev上名为logcat_monitor的插件。
与其他logcat插件相比,它最大的优点是允许持续监视logcat消息。
下面是一个屏幕截图示例:
如何使用
添加依赖项:
1.创建一个函数来使用 logcat 消息
1.将您的函数注册为侦听器以获取日志,然后在应用中使用它。
1.启动logcat监视器,传递 logcat 工具中定义的过滤器参数。