flutter|【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混合开发踩坑日记之‘applicationVariants‘ for extension ‘android‘】】
最近公司用接入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|【Flutter混合开发踩坑日记之‘applicationVariants‘ for extension ‘android‘】
文章图片

错误我整条贴出来,希望搜索更容易匹配到你们想要的解决方案。
问题原因:flutter插件工程工程的名字与原生主工程的module名字一样
插件工程名字:comein
flutter|【Flutter混合开发踩坑日记之‘applicationVariants‘ for extension ‘android‘】
文章图片

原生主工程名字:comein
flutter|【Flutter混合开发踩坑日记之‘applicationVariants‘ for extension ‘android‘】
文章图片

解决方案:flutter插件工程的名字不能与原生工程的module名字一样。
修改前:
  • 插件工程名字:comein
  • 原生主工程名字:comein
修改后:
  • 插件工程名字:comein_plugin
  • 原生主工程名字:comein
    flutter|【Flutter混合开发踩坑日记之‘applicationVariants‘ for extension ‘android‘】
    文章图片
坑二: 坑三: 待续 后面大家有什么问题的话可以一起探讨,相信flutter经过时间的打磨会变得更加完善,更加好用。

    推荐阅读