【Flutter混合开发踩坑日记之‘applicationVariants‘ for extension ‘android‘】

Flutter混合开发踩坑日记之'applicationVariants' for extension 'android'

  • 正文
    • 坑一:Could not get unknown property 'applicationVariants' for extension 'android' of type com.android.build.gradle.
    • 坑二:
    • 坑三:
    • 待续

最近公司用接入flutter进行混编,原生工程为主工程,flutter以module的形式接入进来。算是个比较保守的方案吧,iOS主推,所以很多基础模块代码由iOS工程师编写flutter模块。

大概的项目结构如下:

  • 原生工程(主工程)
    • 模块工程(flutter module)
      • flutter插件工程(flutter plugin)

是个好思路,并且iOS也实现了*(iOS大神都通宵了一晚,我快要被卷死了,有同样经历的同学共勉,泪目)*。fluttrer同事也没有这你个
的资料也不少了,不过有跟我一样幸运猜到这种小众化的坑就难受了,stackoverflow都救不了,google也没用。希望能帮到一些同学,少加班,给在乎你的人多点陪伴和关心。

正文

坑一:Could not get unknown property ‘applicationVariants’ for extension ‘android’ of type com.android.build.gradle.

* Where:
Script 'C:\src\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 1032

* What went wrong:
A problem occurred configuring project ':comein'.
> Could not get unknown property 'applicationVariants' for extension 'android' of type com.android.build.gradle.LibraryExtension.

【Flutter混合开发踩坑日记之‘applicationVariants‘ for extension ‘android‘】_第1张图片
错误我整条贴出来,希望搜索更容易匹配到你们想要的解决方案。

问题原因:flutter插件工程工程的名字与原生主工程的module名字一样

插件工程名字:comein
【Flutter混合开发踩坑日记之‘applicationVariants‘ for extension ‘android‘】_第2张图片

原生主工程名字:comein
【Flutter混合开发踩坑日记之‘applicationVariants‘ for extension ‘android‘】_第3张图片

解决方案:flutter插件工程的名字不能与原生工程的module名字一样。

修改前:

  • 插件工程名字:comein
  • 原生主工程名字:comein

修改后:

  • 插件工程名字:comein_plugin
  • 原生主工程名字:comein
    【Flutter混合开发踩坑日记之‘applicationVariants‘ for extension ‘android‘】_第4张图片

坑二:

坑三:

待续

后面大家有什么问题的话可以一起探讨,相信flutter经过时间的打磨会变得更加完善,更加好用。

你可能感兴趣的:(flutter,android,flutter,ios)