在Android studio 正常build 打包得时候是没问题,由于主管让我自动化打包,在命令行打包,试了一下报错
Direct local .aar file dependencies are not supported when building an AAR
很奇怪的就是,我在Android studio的Build-Generate Signed Bundle or Apk 这里能打出release包,但就命令行 不行
后续查百度说是,Android studio版本高,Android插件版本高。子module中依赖了aar包,由于我的项目是组件化项目,子module依赖aar包是必然的。传递依赖也会有问题
解决方案:将引入的aar包变成一个module,让其他需要的模块可以随时引用,这样的好处在于,不需要将aar包复制来复制去,每个module都copy一份到libs中。也不会出现重复依赖的问题
就类似这样,步骤:
1.在项目根目录创建一个空的文件夹:名字可以自己弄,我这边就foodlib
2.在foodlib文件夹下面,根据自己的aar包创建对应的文件夹,每个aar都需要创建一个文件夹。
3.build.gradle 这里需要
configurations.maybeCreate("default")
artifacts.add("default", file('xxxxxx.aar'))
4.注意,要在setting.gradle里面添加
然后,哪个模块所需要这个aar的话就直接依赖就好了
像这样
网友评论