Could not find method android() in root of multimodule project

ぐ巨炮叔叔 提交于 2019-12-10 11:54:58

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!