如何调试从Flutter Pllatform Channel调用的本机Android

时间:2019-11-06 22:51:45

标签: android flutter flutter-platform-channel

我似乎无法弄清楚如何使通过Flutter应用程序通过平台通道调用的本机Android模块的调试工作。我正在使用Flutter文档(https://flutter.dev/docs/development/platform-integration/platform-channels)中的示例。我尝试了以下方法:

  1. 在IntelliJ中打开Flutter项目
  2. 右键单击android文件夹,然后选择Flutter |在Android Studio中打开Android模块
  3. Android Studio打开本机Android代码。
  4. 在Android代码中设置断点
  5. 点击从Android Studio调试
  6. 仿真器显示“正在等待调试器应用程序正在等待deubgger附加”,而在Android Studio中,调试控制台显示“已连接到目标VM,地址:'localhost:8601”
  7. 从IntelliJ运行Flutter应用程序(我还尝试了从IntelliJ进行调试-颤振代码将在断点处停止)
  8. Android原生代码的断点永不中断

我在做什么错了?

2 个答案:

答案 0 :(得分:0)

如果使用相对路径,Flutter在调试时会遇到问题。例如,如果您的导入语句如下所示,则调试将无法进行

import '../app.dart';

将这些语句更改为

import 'package:your_package/app.dart';

之后,调试器将开始工作。以这种方式导入语句是一种很好的习惯。

答案 1 :(得分:0)

我启动了另一个项目,并使其能够正常工作。

要调试Flutter代码,请从IntelliJ启动调试器

要调试本机android代码,请右键单击android文件夹,然后选择Flutter |在Android Studio中打开Android模块。在此启动调试器。 Flutter应用程序将在模拟器中打开,您可以在本机代码中设置/命中断点