我尝试指定gradle库的两个不同的源集,并在项目中添加源集特定的依赖项。
这个想法是这样做的:
库build.gradle文件:
apply plugin: 'com.android.library'
android {
...
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java {
srcDir 'src'
}
res {
srcDir 'res'
}
}
exclude_fr_it{
manifest.srcFile 'AndroidManifest.xml'
java {
srcDir 'src'
}
res {
srcDir 'res'
exclude 'res/values/values-fr'
exclude 'res/values/values-it'
}
}
}
...
}
...
在项目A中,我希望包括主源集:
dependencies {
compile project(':explore_layout')
}
dependencies {
compile project(':explore_layout') library 'exclude_fr_it'
}
医生
问题2
这不是对sourceSets问题的直接回答。但是您可能根本不需要使用sourceSets特性。
如果您只是希望您的应用程序在您的自定义android库中包含一个资源子集,您可以通过在应用程序的构建中设置一个配置块来实现这一点。Gradle。(事实上,该库根本不需要那些用于'main'和'exclude_fr_it'源集的特殊配置块。)
这是可能的,因为'res configs'属性。
特别是,假设您的库具有三种语言的资源配置:'en'、'fr'和'it'。
然后,在包含库中所有语言的项目A中,您只需在Build中使用此代码。Gradle:
dependencies {
compile project(':explore_layout')
}
但是,在项目B中,您希望排除自定义库的'fr'和'it'资源,您在配置闭包中使用'res configs'属性只包括如下所示的资源子集:
dependencies {
compile project(':explore_layout') {
android {
defaultConfig {
resConfigs 'en'
}
}
}
}
问题内容: 假设我想在项目中添加guice-assistedinject作为依赖项。它将guice工件指定为依赖项本身。如何告诉它使用guice的no_aop版本? 我知道我可以执行以下操作,但是我可以一步完成而不排除guice模块吗? 问题答案: 没有更简单的解决方案。您可以使用简短的依赖性表示法(例如)来缩短代码。
本文向大家介绍android-gradle 如何添加依赖项,包括了android-gradle 如何添加依赖项的使用技巧和注意事项,需要的朋友参考一下 示例 下面的示例描述了如何在app /模块的build.gradle文件中声明三种不同类型的直接依赖关系:
我面临着以下问题。我有两个Gradle项目(ProjectA和ProjectB)在同一个层次结构上,没有任何根项目。由于ProjectA依赖于ProjectB,我尝试将其建模如下: ProjectA的settings.gradle: ProjectA的build.gradle: 然而,当我在ProjectA上执行gradle build时,我得到了以下错误: 我必须在ProjectB中定义某种默认
我无法在gradle项目中添加自定义源集。如何在这里初始化版本号?我的gradle文件看起来像:
我是gradle的新手,我现有的大多数项目都在ant(netbeans项目)中。 我必须为我想重用的每个项目创建gradle项目吗? 我可以在gradle项目中直接声明现有的netbean项目为依赖项吗?如果是,如何? 谢谢。
eclipse插件似乎使用以下机制来实现这一点: 但是我找不到想法插件的相应选项。我错过了什么? 这是构建。gradle文件: