如何防止Gradle导出依赖项?

时间:2014-01-30 19:55:08

标签: gradle android-gradle build.gradle

我有两个共享子项目的Android应用。子项目中的build.gradle包含如下依赖项:

dependencies {
    compile "my.library.dependency:${version}"
}

我想要的是在编译时使用此依赖项,而不是运行时。这是因为这两个应用程序需要链接略有不同版本的依赖项(相同的API)。

Gradle文档描述了这样的依赖关系配置:

  

编译编译生产源所需的依赖项   该项目。

     

运行时生产类所需的依赖项   运行。默认情况下,还包括编译时依赖项。

如果运行时还包含编译依赖项,这是否意味着库从子项目导出到父项目(并包含在我的apk中)?如果是这样,我该如何防止这种情况?我认为这是可能的,因为它说“默认”。

提前致谢...

1 个答案:

答案 0 :(得分:3)

目前尚不清楚您的子项目是否正在使用android-library插件,但如果是,则v0.8添加了提供的范围 - 请参阅http://tools.android.com/recent/androidstudio043released

这应该有效:

dependencies {
    provided "my.library.dependency:${version}"
}

如果你升级到0.8的插件,你需要运行Gradle 1.10(如果你使用的是包装器,请更新gradle-wrapper.properties),如果你使用的是Android Studio,请升级到0.4.3