Flutter插件开发集成aar包出现:Could not determine the dependencies of task ':flutter_vpn:compileDebugAidl'.问题

概述:
最近在做一个Flutter的插件开发,需要在android及ios原生中集成sdk,然后Flutter通过插件调用sdk的方法。这其中涉及到aar包的集成,虽然是Flutter的插件开发,但是关于android原生的aar包集成还是差不多的,按照正常的aar包集成流程操作,本以为很顺利,但是却出现了这个问题:
在这里插入图片描述
这个问题非常奇怪:aar资源包引用是成功的,也能识别到对应的资源文件。但是就在gradle编译的时候一直出现这个问题。

问题分析:
开始的时候,怀疑是目录不对、引用不正确等等,但是后面发现,添加依赖之后,本地的资源库是可以看到文件的,所以这个原因也就不存在。
后面,通过各种帖子了解到:

@aar 本身就是一种library Module,直接作用在
apply plugin:'com.android.application'中

在Flutter插件开发的android目录下的gradle.build文件中,插件表示的是:apply plugin: ‘com.android.library’,所以找不到
因此,就能得到解决方法

解决方案:
1、 在Project 下的 build.gradle 中的 repositories 中添加相应的引用如下:

allprojects {
    repositories {
        jcenter()
        maven { url "https://jitpack.io" }
        /**子模块含有aar:添加全局引用*/
        flatDir {
            // 由于Flutter插件 module中引用了 aar,
            // 其他工程编译时会报错,所以需要在所有工程的repositories
            // 下把Library module中的libs目录添加到依赖关系中
            dirs project(':xxx').file('libs')
            //注意:project后面是aar包的模块名
        }
    }
}

2、在app 的build.gradle文件中加入如下一段:

/**子模块含有aar*/
    repositories {
        flatDir {
            dirs 'libs','../xxx/libs' // xxx也是代表aar所在的libs目录的模块名称
        }
    }

总结:
我是采用了方案1解决了问题。同时也很感谢大神这篇帖子Android Studio多Module使用 aar 依赖包 丢包解决

参考:
疑难杂症(一)集成优酷sdk[aar] library Module 依赖,找不到aar[Could not find :YoukuPlayerOpenSDK-release:.]

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易小四

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值