加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

模块依赖 – Android Studio

发布时间:2020-12-13 20:46:18 所属栏目:百科 来源:网络整理
导读:我的项目M1,M2下有2个模块 Project - M1 - M2 早些时候,我把M1作为我的主要应用程序.然而,需要新的应用程序M2与M1共享许多常见的东西.所以,我创建了一个新模块M2,其中M1作为依赖. 为此,我修改了M1和M2的build.gradle,如下所示: M2: compile project(':M1')
我的项目M1,M2下有2个模块
Project
  - M1
  - M2

早些时候,我把M1作为我的主要应用程序.然而,需要新的应用程序M2与M1共享许多常见的东西.所以,我创建了一个新模块M2,其中M1作为依赖.

为此,我修改了M1和M2的build.gradle,如下所示:

M2:

compile project(':M1')

M1 :(改为图书馆)

apply plugin: 'com.android.library'

但是,这不起作用并引发错误:

Could not find property 'applicationVariants' on com.android.build.gradle.LibraryExtension_Decorated@6de81701.

关于如何解决这个问题的任何想法?

来自文档:

In Android projects,this is a bit more complicated because there could be a large number of the same task and their name is generated based on the Build Types and Product Flavors.

为了解决这个问题,android对象有两个属性:

applicationVariants(仅适用于app插件)

libraryVariants(仅适用于库插件)

testVariants(适用于两个插件)

这三个都分别返回ApplicationVariant,LibraryVariant和TestVariant对象的DomainObjectCollection.

http://tools.android.com/tech-docs/new-build-system/user-guide

因此,M1中的build.gradle似乎使用属性applicationVariants,该属性不适用于库项目.由于我不知道你在做什么,我可以猜测你需要(1)用libraryVariants替换它或(2)将它移动到M2的build.gradle.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读