1

我有一些java类位于主项目之外的自己的目录中(但在同一个项目文件夹中)。

文件夹设置如下所示:

root
 |
 |
 |- Main project
 |
 |- Dir
 |   |-src
 |   |-libs
 |
 |- more android libs...

我想在主项目中包含 Dir/src 类。

我在 Gradle 构建文件中试过这个:

sourceSets {
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src', ':Dir/src']
...

无济于事。

有针对这个的解决方法吗?

4

2 回答 2

4

您可能想制作Dir自己的模块

添加include 'Dir'到您的 settings.gradle

Dir使用此内容在您的目录中创建一个 build.gradleapply plugin: java

现在您可以进入您的主要项目build.gradle并添加到依赖项:compile project(':Dir')


如果您Dir使用 android 相关的东西,您可能想使用 Android Studio 的New > Module(在 Android Studio 中右键单击您的项目)功能来创建一个 Android 库。

但我还没有测试过这个功能。如果 Android Studio 在尝试使用新模块时抛出异常,您应该尝试更新 Android Studio,在最新版本中它适用于我。


您可能还想查看 Gradle用户指南DSL 参考,它们对于进入 Gradle 和理解它都非常有帮助。

于 2013-09-03T07:38:04.630 回答
2

我正在构建 Dodge 的答案,并实际发布了修复此问题的 Gradle 代码:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'java'

sourceCompatibility = '1.6'
targetCompatibility = '1.6'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}

sourceSets {
    main {
        java {
           srcDirs = ['src']
        }
    }
}

buildDir = 'bin'
于 2013-09-03T08:51:57.187 回答