我的项目M1,M2下有2个模块
Project
- M1
- M2
Run Code Online (Sandbox Code Playgroud)
早些时候,我把M1作为我的主要应用程序.然而,需要新的应用程序M2与M1共享许多常见的东西.所以,我创建了一个新模块M2,其中M1作为依赖.
为此,我修改了M1和M2的build.gradle,如下所示:
M2:
compile project(':M1')
Run Code Online (Sandbox Code Playgroud)
M1 :(改为图书馆)
apply plugin: 'com.android.library'
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用并引发错误:
Could not find property 'applicationVariants' on com.android.build.gradle.LibraryExtension_Decorated@6de81701.
Run Code Online (Sandbox Code Playgroud)
关于如何解决这个问题的任何想法?
dav*_*ola 13
来自文档:
在Android项目中,这有点复杂,因为可能存在大量相同的任务,并且它们的名称是基于构建类型和产品风格生成的.
为了解决这个问题,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(或)将其替换为M2的build.gradle.
| 归档时间: |
|
| 查看次数: |
3808 次 |
| 最近记录: |