0

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

使用 Android Maven 插件和 IntelliJ,这可以完美运行,因为您只需将库 pom.xml 添加到 IntelliJ,IntelliJ 将使用文件系统上的源代码自动编译库,而不是使用存储库中的现有 jar。

4

1 回答 1

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 { repositories { 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']
        }
    }
}
于 2013-07-10T02:07:45.907 回答