【问题标题】:Android Studio & Gradle: Add outside java classes to Android main projectAndroid Studio & Gradle:将外部 java 类添加到 Android 主项目
【发布时间】:2013-09-03 07:16:24
【问题描述】:

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

文件夹设置如下所示:

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

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

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

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

无济于事。

有解决办法吗?

【问题讨论】:

    标签: java android gradle android-studio build.gradle


    【解决方案1】:

    你可能想让你的 Dir 成为一个自己的模块

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

    在您的 Dir 目录中创建一个 build.gradle,其中包含此内容 apply plugin: java

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


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

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


    您可能还想查看 Gradle User GuideDSL Reference 两者都非常有助于进入和理解 Gradle。

    【讨论】:

    • 实际上在您发布答案之前设法弄清楚这一点,但感谢您提供更多提示。这是迄今为止最好的方法。再次感谢。
    • 没问题,这就是 SO 的用途。 ;) - 感谢您接受答案。 :)
    【解决方案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-05-25
      • 2013-09-02
      • 2013-07-02
      • 2012-07-22
      • 1970-01-01
      • 2014-10-06
      • 2023-01-20
      • 2012-05-03
      相关资源
      最近更新 更多