如上代码所示, message.dart
文件中通过 @HostApi()
注解标示了通信对象和接口,之后我们只需要执行如下命令,就可以生成对应代码到工程中。
flutter pub run pigeon --input pigeons/message.dart --dart_out lib/pigeon.dart --objc_header_out ios/Runner/pigeon.h --objc_source_out ios/Runner/pigeon.m --java_out android/app/src/main/java/com/shuyu/testpigeon/Pigeon.java --java_package “com.shuyu.testpigeon”
如上所示命令行:
- 通过
--input
引入了我们创建的message.dart
文件; - 通过
--dart_out
输出了 dart 模板文件; - 通过
--objc_header_out
和--objc_source_out
输出了 object-c 文件; - 通过
--java_out
输出了 java 文件;
命令执行后 dart 文件输出到 lib
目录下, object-c 文件输出到了 ios/Runner
目录下,java 文件输出到指定的 com.shuyu.testpigeon"
包名路径下,之后就可以开始正式接入。
Android
首先看 Android 项目,在生成的 Pigeo