首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android + gradle:多项目w/库项目

android + gradle:多项目w/库项目
EN

Stack Overflow用户
提问于 2014-03-26 20:57:35
回答 1查看 581关注 0票数 2

我们有一个多项目的设置,包括应用程序和库项目。就像这样,

代码语言:javascript
复制
top -
  |- android-build (build tools here)
  |- android-help
     |- helper (app module)
  |- android-setup
     |- setup (app module)
  |- android-common
     |- common (library module)
     |- common-style (library module)

top下的每个项目都是独立的。应用程序文件夹通过maven依赖项引用库(因此显然需要首先构建库)。

我想在android-build文件夹中定义一个构建脚本,它可以构建所有的应用程序和库,而且还可以加载到android中,让所有的项目都可以一起访问。

我在android-build/settings/gradle上做过,

代码语言:javascript
复制
def rootDir = new File( androidBuild + "/.." ) // androidBuild -> android-build
println "rootDir=" + rootDir

include ':android-help:help'
project( ':android-help:help' ).projectDir = new File( rootDir, 'android-help/help' )

include ':android-setup:setup'
project( ':android-setup:setup' ).projectDir = new File( rootDir, 'android-setup/setup' )

include ':android-common:common'
project( ':android-common:common' ).projectDir = new File( rootDir, 'android-common/common')

include ':android-common:common-style'
project( ':android-common:common-style' ).projectDir = new File( rootDir, 'android-common/common-style')

一切都很好,直到它到达android-common:common,这依赖于android-common:common-stylecompile project(...)

代码语言:javascript
复制
* What went wrong:
A problem occurred evaluating project ':android-common:common'.
> Project with path ':common-style' could not be found in project ':android-common:common'.

我真正想要的是为每个项目做这样的事情,

代码语言:javascript
复制
include ':android-common'
project( ':android-common' ).projectDir = new File( rootDir, 'android-common')

也就是说,只包含顶级项目build.gradle,但是gradle不喜欢这个,也没有在下面找到任何模块。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-26 21:48:04

由于您正在重新定义项目的位置,所以您应该能够编写:

代码语言:javascript
复制
include ':common-style'
project(':common-style' ).projectDir = new File( rootDir, 'android-common/common-style')

这样,当您只包括commoncommon-style时,您可以使项目路径(项目路径(项目路径))与项目路径匹配。这个分级路径不必与磁盘上的路径相匹配。

目标是让这些项目有一个不变的路径,不管设置是什么,这样项目间的依赖关系总是一样的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22672899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档