如何使用组,名称,版本,类型的格式在build.gradle中添加@jar类型的依赖项?

时间:2014-08-14 09:54:59

标签: android maven gradle android-studio

依赖关系的pom.xml可以用<packaging>apk</packaging>来描述,这在编译时是行不通的。 所以我在依赖树中排除模块并重新包含 compile 'package:artifactId:versionName@jar' 这确实有效,但group:'groupName',name:'artifactId',version:'versionName',type:'type'的相应格式是什么? 我尝试了type:'jar'但没有用。 我是否必须首先排除依赖树中的依赖关系,然后重新包含它?或者我可以修改父依赖的描述?

父依赖:

compile (group:'parentGroupId',name:'parentModuleName',version:'parentVersion'){
    exclude group:'excludeGroupId',module:'excludeModuleName'
}

compile 'excludeGroupId:excludeModuleName:excludeVersion@jar'

我试过

compile (group:'parentGroupId',name:'parentModuleName',version:'parentVersion'){
    exclude group:'excludeGroupId',module:'excludeModuleName'
}

compile (group:'excludeGroupId',name:'excludeModuleName',version:'excludeVersion',type:'jar')

以上没有用

1 个答案:

答案 0 :(得分:1)

基于http://www.gradle.org/docs/current/dsl/org.gradle.api.artifacts.dsl.DependencyHandler.html的文档,这看起来像是指定这种依赖关系的正确方法:

compile (group:'excludeGroupId',name:'excludeModuleName',version:'excludeVersion') {
    artifact {
        name = 'excludeModuleName'
        type = 'jar'
    }
}

请注意,name内的冗余artifact规范是必需的 - 如果没有它,您将获得NullPointerException