如何将guava库包含到我的输出jar中?

时间:2015-05-07 16:49:34

标签: gradle guava build.gradle android-guava

我的build.gradle中有以下依赖项:

dependencies {
    compile 'com.google.guava:guava:18.0'
}

它在编译期间工作,并且为我的源代码生成输出jar(它使用来自guava库的com.google.common.collect.Maps之类的类)。

我有一个dex任务,它将输出jar转换为dex文件:

task dex(dependsOn: jar, type:Exec) {
    project.dexDir.mkdirs()
    commandLine 'dx', '--dex', '--no-strict', '--output=' + buildDir +'/dex/' + project.name + '.jar', jar.archivePath
}

问题是输出jar没有guava依赖项,所以当它转换为dex时,推送到android设备并在那里运行,我得到java.lang.ClassNotFoundException:没找到类com。 google.common.collect.Maps

有没有办法让guava依赖项包含在javaCompile任务的输出jar中,该任务从我的其他源代码生成输出jar?非常感谢你提前!

1 个答案:

答案 0 :(得分:1)

这通常被称为" jar,具有依赖性"或者有时候,"脂肪"罐。这solution可能就是您所需要的: