Gradle-将现有android项目作为其他项目的子项目并运行;gradlew任务“;
第1部分。 我有一个现有的Android项目,它是用gradle构建的Gradle-将现有android项目作为其他项目的子项目并运行;gradlew任务“;,gradle,android-gradle-plugin,build.gradle,Gradle,Android Gradle Plugin,Build.gradle,第1部分。 我有一个现有的Android项目,它是用gradle构建的 settings.gradle如下所示: include ':android', ':androidTest', ':androidTestApp' buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:1.2.3'
settings.gradle
如下所示:
include ':android', ':androidTest', ':androidTestApp'
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
}
}
task wrapper(type: Wrapper) {
gradleVersion = '2.4'
}
task customClean(dependsOn: [':android:clean', ':androidTest:clean', ':androidTestApp:clean']) {
}
allprojects {
repositories {
mavenCentral()
mavenLocal()
}
}
build.gradle
如下所示:
include ':android', ':androidTest', ':androidTestApp'
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
}
}
task wrapper(type: Wrapper) {
gradleVersion = '2.4'
}
task customClean(dependsOn: [':android:clean', ':androidTest:clean', ':androidTestApp:clean']) {
}
allprojects {
repositories {
mavenCentral()
mavenLocal()
}
}
我需要做的是创建一个项目,它是这个android项目的父项目,并运行这个android项目任务。我添加到新根项目的settings.gradle
中包括“android sdk:android”
,这就是我现在所需要的。一切都很好,我可以运行android项目的任务,像这样gradlew androidBuild
:
task androidBuild(dependsOn: 'android-sdk:android:assemble') << {
group unitySdkGroupName
}
我知道我可以通过删除像这样的冒号来解决这个问题,但我希望尽可能使tasks命令在不改变android项目的情况下工作
task customClean(dependsOn: ['android:clean', 'androidTest:clean', 'androidTestApp:clean']) {
}
第2部分。
当我添加到根项目和其他嵌套项目的settings.gradle
时
include 'android-sdk:androidTest'
include 'android-sdk:androidTestApp'
我在依赖于android
module(这是androidTest
module)的子项目的依赖项部分得到错误:
当我刷新项目时得到这个(同样看起来像是相对路径问题):
所以问题是-我是否可以在不修改底层android项目的情况下使
gradlew tasks
命令正常工作,以及如何以最优雅的方式完成它?不幸的是:不可以。嵌套的多项目构建是不可能的。我还应该补充一点,尽管已经表明了支持它们的意图,但绝对没有迹象表明何时可以使用此功能
看
我甚至在上找不到功能请求,不幸的是:没有。嵌套的多项目构建是不可能的。我还应该补充一点,尽管已经表明了支持它们的意图,但绝对没有迹象表明何时可以使用此功能 看
我甚至在上找不到功能请求,谢谢您的帮助。我已经解决了这个问题,包括了一个子项目来构建
includeFlat'android'项目(“:android”)。projectDir=new File(“android/android”)
感谢您的帮助。我已经解决了这个问题,包括一个子项目来构建includeFlat'android'项目(“:android”)。projectDir=新文件(“android/android”)
Error:(30, 0) Project with path ':android' could not be found in project ':android-sdk:androidTest'.