问题
When trying to add parallel build for set of Android projects
For root build.gradle
I added from template
subprojects {
android{
//{ for classic Android Eclipse project
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
// Move the tests to tests/java, tests/res, etc...
androidTest.setRoot('tests')
// Move the build types to build-types/<type>
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
// This moves them out of them default location under src/<type>/... which would
// conflict with src/ being used by the main source set.
// Adding new build types or product flavors should be accompanied
// by a similar customization.
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
//}
}
}
But got error Could not find method android() ...
14:14:57.016 [ERROR] [org.gradle.BuildExceptionReporter] FAILURE: Build failed with an exception.
14:14:57.016 [ERROR] [org.gradle.BuildExceptionReporter]
14:14:57.017 [ERROR] [org.gradle.BuildExceptionReporter] * Where:
14:14:57.017 [ERROR] [org.gradle.BuildExceptionReporter] Build file 'D:\Workspaces\ws\project\src\build.gradle' line: 21
14:14:57.017 [ERROR] [org.gradle.BuildExceptionReporter]
14:14:57.017 [ERROR] [org.gradle.BuildExceptionReporter] * What went wrong:
14:14:57.018 [ERROR] [org.gradle.BuildExceptionReporter] A problem occurred evaluating root project 'src'.
14:14:57.018 [ERROR] [org.gradle.BuildExceptionReporter] > Could not find method android() for arguments [build_rp8mi2jisvr8vhjtgpkks742o$_run_closure1_closure2@6f762bb] on root project 'src'.
14:14:57.018 [ERROR] [org.gradle.BuildExceptionReporter]
Do I have to copy-paste such configuration in every module?
Is there way to configure set of android project from one root build.gradle
?
Similar to Could not find property 'android' on root project there is no code at root level.
Used versions:
>gradle -v
------------------------------------------------------------
Gradle 1.10
------------------------------------------------------------
Build time: 2013-12-17 09:28:15 UTC
Build number: none
Revision: 36ced393628875ff15575fa03d16c1349ffe8bb6
Groovy: 1.8.6
Ant: Apache Ant(TM) version 1.9.2 compiled on July 8 2013
Ivy: 2.2.0
JVM: 1.8.0_05 (Oracle Corporation 25.5-b02)
OS: Windows 7 6.1 amd64
回答1:
You first need to apply the android
plugin inside subprojects
.
来源:https://stackoverflow.com/questions/23864068/could-not-find-method-android-in-root-of-multimodule-project