需要另一个目录中的Gradle项目

eua*_*ano 61 java android multi-project gradle android-library

我有一个像这样的目录/项目设置:

C:\
    _dev\
        Projects\
            Logger
            MyProject
Run Code Online (Sandbox Code Playgroud)

Logger是一个使用Gradle的Android库项目.MyProject是一个标准的Android项目项目,需要使用Logger库.

我正在使用Android Studio,并尝试将Logger添加到外部库.虽然这在开发过程中起作用,但我会在构建时收到有关未找到类的消息.

我是Gradle的新手,但在MyProject中的build.gradle中尝试了以下内容:

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

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.1.0"

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 18
    }

    dependencies {
        compile files("../Logger")
    }
}

dependencies {
    compile 'com.android.support:gridlayout-v7:18.0.0'
    compile 'com.android.support:appcompat-v7:18.0.0'
}
Run Code Online (Sandbox Code Playgroud)

Ren*_*hke 142

最简单的方法是MyProjectLogger项目作为子项目进行多项目.

settings.gradleMyProject目录中:

include ":logger"
project(":logger").projectDir = file("../logger")
Run Code Online (Sandbox Code Playgroud)

build.gradleMyProject,你现在可以参考这个LIB作为一个项目:

dependencies {
     compile 'com.android.support:gridlayout-v7:18.0.0'
     compile 'com.android.support:appcompat-v7:18.0.0'
     compile project(":logger")
}
Run Code Online (Sandbox Code Playgroud)

  • 如果外部依赖项有自己的项目依赖项怎么办?这些路径尚未解决。 (3认同)

小智 12

Android Studio 2.2.3:

添加到settings.gradle.

include ':app', ':new_lib'
project(':new_lib').projectDir = new File('../new_lib/app')
Run Code Online (Sandbox Code Playgroud)
  • 路径必须是您正在处理的项目的根目录的相对路径.
  • 您引用的模块必须引用它的"app"目录.

然后编辑您的项目结构| 用于设置依赖关系的模块.


miw*_*miw 6

尝试将依赖项添加到全局"依赖项"部分,而不是"android>依赖项".在开发期间,使用"android"配置,但不包括运行时.

dependencies {
    compile 'com.android.support:gridlayout-v7:18.0.0'
    compile 'com.android.support:appcompat-v7:18.0.0'
    compile files("../Logger")
}
Run Code Online (Sandbox Code Playgroud)

考虑设置多项目gradle配置也是值得的,在共享父目录中使用build.gradle和settings.gradle,如下所示:http://www.gradle.org/docs/current/userguide/ multi_project_builds.html


归档时间:

查看次数:

45727 次

最近记录:

6 年,6 月 前