我现在遇到一个情况,就是在Flutter项目里面编写plugin插件,然后在plugin里面的Android项目里集成一个Module。
如果按照正常逻辑来写的话那肯定就是在插件的android里面的build.gradle文件里面写:
implementation project(':project')
然后就可以在Flutter插件的android项目里使用第三方module的api了,正常这么写是没问题,但当你开始编译Flutter的项目的时候,会遇到下面的错误:
Project with path ‘:module_name’ could not be found in project ‘:plugin_name’.
完了芭比Q了完了。。。。这个东西我真是找遍全网都没找到到底为啥,明明在正常的安卓项目里是没问题的。
后来我灵光一闪想到,之前在解决Flutter插件里的android项目中集成AAR的时候要在Flutter主android(注意不是插件的android哦)目录中配置点东西,那如果要集成Module的时候是不是也要配置点东西呢,于是抱着试一试的心态,我在androlid根目录的settings.gradle里面添加了下面两行代码:
include ':project'
project(':project').projectDir = file('../plugin-name/android/project')
居然可以了,我都忘了我在哪儿看到这两行代码了反正这次查资料查到我脑袋都昏了。。。
我也不知道这么写对不对反正可以跑起来了,如果有大佬看了之后有更好的写法千万要告诉我一下,谢谢~