我搜索了 Gradle 文档,但它只专注于同时处理子项目。我想知道是否可以同时处理 Android 应用程序项目和它使用的外部库。
使用 Android Maven 插件和 IntelliJ,这可以完美运行,因为您只需将库 pom.xml 添加到 IntelliJ,IntelliJ 将使用文件系统上的源代码自动编译库,而不是使用存储库中的现有 jar。
我搜索了 Gradle 文档,但它只专注于同时处理子项目。我想知道是否可以同时处理 Android 应用程序项目和它使用的外部库。
使用 Android Maven 插件和 IntelliJ,这可以完美运行,因为您只需将库 pom.xml 添加到 IntelliJ,IntelliJ 将使用文件系统上的源代码自动编译库,而不是使用存储库中的现有 jar。
您需要在项目根目录中创建一个 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']
}
}
}