与Android Gradle插件并行处理应用程序和外部库

时间:2013-07-10 00:15:44

标签: android intellij-idea gradle

我搜索了Gradle文档,但它只专注于同时处理子项目。我想知道是否可以在Android应用程序项目和它同时使用的外部库上工作。

使用Android Maven插件和IntelliJ,这非常有效,因为您只需将库pom.xml添加到IntelliJ,IntelliJ将使用文件系统上的源代码自动编译库,而不是使用存储库中的现有jar。 / p>

1 个答案:

答案 0 :(得分:0)

您需要在项目根目录下使用settings.gradle文件,然后在Android应用模块和外部库模块中使用build.gradle文件。

您的settings.gradle文件应如下所示:

include '<app_module>'
include '<library_module>'

您的库模块build.gradle应如下所示:

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.4.2'
    }
}

apply plugin: 'android-library'

android {
    buildToolsVersion "17.0"
    compileSdkVersion 17

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        instrumentTest.setRoot('tests')
    }
}

您的主应用build.gradle应如下所示:     buildscript {         存储库{             mavenCentral()         }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.4.2'
    }
}

apply plugin: 'android'

dependencies {
    compile project(':<lib_module>')
}

android {
    buildToolsVersion "17.0"
    compileSdkVersion 17

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    }
}