2014-01-30 55 views
1

我有两个共享一个子项目的Android应用程序。在子项目的build.gradle包含这样的依赖性:如何防止Gradle导出依赖项?

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

我想什么是使用在编译时这种依赖关系,但不是运行。这是因为这两个应用程序需要链接到稍微不同的依赖版本(相同的API)。

的摇篮文档描述依赖关系配置是这样的:

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

运行时间生产类别在 运行时所需的相关性。默认情况下,还包含编译时依赖关系。

如果运行还包括编译的依赖,这是否意味着该库从子项目出口到父项目(并包括在我的APK)?如果是这样,我该如何预防呢?我认为这是可能的,因为它说“默认”。

在此先感谢...

+1

你正在建造什么样的项目?独立的应用程序?网络档案? “出口”是什么意思? –

+0

@JBNizet好的问题。为了清晰起见,我更新了问题。 –

回答

3

目前尚不清楚,如果你的子项目正在使用的Android库插件,但如果是这样,V0.8还增加了提供范围 - 请http://tools.android.com/recent/androidstudio043released

这应该工作:

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

如果升级到该插件的0.8,你需要运行摇篮1.10(更新,如果您使用的包装gradle-wrapper.properties),如果你正在使用Android Studio,升级到0.4.3。

相关问题