TER_L3_2023_Boggle_Mobile
v1.0.103
Golang FFI插件扑来项目
该项目是Flutter FFI插件的起点,FFI插件是一个专门的软件包,其中包括直接使用DART FFI调用的本机代码。
该模板使用以下结构:
src :包含带有Makefile的Golang源代码,该代码为各种目标平台编译本机代码库。
lib :包含定义插件API的DART代码,并使用dart:ffi调用本机代码。
平台文件夹( android , ios , windows等):包含用于构建和捆绑本机代码库与平台应用程序的构建文件。
pubspec.yaml指定FFI插件如下:
plugin :
platforms :
some_platform :
ffiPlugin : true这种配置调用了使用这些FFI插件在flutter应用程序中的各种目标平台的本机构建,并捆绑了二进制文件。
这可以与dartpluginclass结合使用,例如,当FFI用于在联合插件中实现一个平台时:
plugin :
implements : some_other_plugin
platforms :
some_platform :
dartPluginClass : SomeClass
ffiPlugin : true插件可以同时具有FFI和方法通道:
plugin :
platforms :
some_platform :
pluginClass : SomeName
ffiPlugin : true由FFI(和方法通道)插件调用的本机构建系统是:
要使用本机代码,需要DART中的绑定。为了避免手工编写它们,它们是通过package:ffigen从标头文件( src/libsum.h )生成的。通过运行flutter pub run ffigen --config ffigen.yaml再生结合物。
可以直接从任何分离株中调用非常短的本机功能。例如,请参见lib/native_ffi.dart中的sum 。