programing

다른 디렉터리의 Gradle 프로젝트 필요

nasanasas 2020. 12. 3. 07:57
반응형

다른 디렉터리의 Gradle 프로젝트 필요


다음과 같은 디렉토리 / 프로젝트 설정이 있습니다.

C:\
    _dev\
        Projects\
            Logger
            MyProject

Logger 는 Gradle을 사용하는 Android 라이브러리 프로젝트입니다. MyProjectLogger 라이브러리를 사용해야하는 표준 Android 프로젝트 프로젝트입니다 .

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'
}

가장 간단한 방법은 프로젝트를 하위 프로젝트로 사용 MyProject하여 다중 프로젝트 를 만드는 것 Logger입니다.

settings.gradleMyProject디렉토리 :

include ":logger"
project(":logger").projectDir = file("../logger")

에서 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")
}

Android 스튜디오 2.2.3 :

settings.gradle에 추가하십시오.

include ':app', ':new_lib'
project(':new_lib').projectDir = new File('../new_lib/app')
  • 경로는 작업중인 프로젝트의 루트에서 상대적이어야합니다.
  • 참조하는 모듈에는 "app"디렉토리에 대한 참조가 있어야합니다.

그런 다음 프로젝트 구조 | 종속성을 설정하는 모듈.


"android> dependency"가 아닌 전역 "dependencies"섹션에 종속성을 추가해보십시오. 개발 중에는 "android"구성이 사용되지만 런타임을 패키징하지는 않습니다.

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

http://www.gradle.org/docs/current/userguide/ 와 같이 공유 된 상위 디렉토리에 build.gradle 및 settings.gradle을 사용하여 다중 프로젝트 gradle 구성을 설정하는 것도 고려해 볼 가치가 있습니다. multi_project_builds.html

참고URL : https://stackoverflow.com/questions/19299316/require-gradle-project-from-another-directory

반응형