使用gradle在多个模块中编译本地jar

时间:2015-09-04 16:54:43

标签: android gradle

让我们考虑一个场景,其中我有一个项目Starwars,它由三个模块MissionSkywalkerKenobi组成。我有一个jar文件force.jar,这是其中两个模块所必需的。为实现此目的,我将force.jar放在libs/中的Starwars目录中,并使用以下gradle配置:

build.gradle(Starwars)

allprojects {
    repositories {
        flatDir {
            dirs "$rootProject.projectDir/libs"
        }
    }
}

build.gradle(天行者)

dependencies {
    compile name: 'force'
}

build.gradle(Kenobi)

dependencies {
    provided name: 'force'
}

我的主模块Mission又依赖于先前定义的模块。 Mission的gradle文件如下所示:

build.gradle(使命)

dependencies {
    compile project(':Skywalker')
    compile project(':Kenobi')
}

现在,当我尝试运行Mission时,出现以下错误:

  

com.android.dex.DexException:多个dex文件定义Lforce /...;

有人可以指导我如何在gradle中配置这些要求。谢谢!

0 个答案:

没有答案