前言
如果您的项目是在1.12版本之前创建的,则这可能适用于您的项目,否则不存在该问题,因为最新版本的flutter在创建项目时会自动应用安卓嵌入的V2版本。
我们知道从1.12版本开始为了更好地支持将flutter添加到现有项目的执行环境,现已弃用io.fltter.app.FlutterActivity所处的flutter运行时的旧Android平台端包装器及其关联的类。Io.fltter.embedding.android.FlutterActivity和相关类中的新包装器现在取代了它们。
与旧的 API 相比,新 API 的优势在于:为插件所依赖的生命周期提供了一套更解耦的使用方法,例如以前 PluginRegistry.Registrar.activity() 在使用时,如果 Flutter 还没有添加到 Activity 上时可能返回 null ,同时插件不知道自己何时被引擎加载使用,而新的 API 上这些问题都得到了优化。
提示:
你现有的纯flutter开发的项目不会立即受到影响,在可预见的未来还会像以前一样工作。
但有可能会在编译时出现如下的警告信息:
需要注意的是:新的Android包装器还引入了一组新的Android插件开发API,专为新插件API开发的插件不能在1.12之前的Android项目上运行。使用1.12之后的新的插件创建一个1.12之前的android项目,将产生编译时异常。
从1.12版本开始,创建的flutter应用程序默认都是使用V2版本。