2014-10-09 4 views
1

Android 스튜디오 프로젝트에서 나 자신이 코딩 한 라이브러리를 공유하는 2 개의 Android 애플리케이션을 작성했습니다.Android Studio의 여러 모듈간에 프로젝트 속성 공유하기

Project/ 
- app1/ 
- app2/ 
- mylibrary/ 

그래서 app1 및 app2의 build.gradle에서 mylibrary 컴파일을위한 종속성을 포함시켜야합니다.

dependencies { 
    // Compile shared library 
    compile project(':mylibrary') 
    // Local binary dependency 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
} 

지금까지 모든 것이 잘 작동합니다.

그런 다음 app1과 app2를 서로 다른 두 개의 스크립트로 작성하고 각 건물에서 일부 맞춤 매개 변수를 포함합니다. 예를 들어, APP1의 건물 스크립트는 다음과 같습니다

cd app1 

../gradlew assembleRelease -PversionCode=$VERSION_CODE -PversionName=$VERSION_NAME -PWS_URL=$WS_URL 

나는 "APP1"의 build.gradle에 propject.property에서 versionName을, versionCode를하고 WS_URL 매개 변수에 액세스 할 수 있지만 문제는 내가로부터 수 없습니다 구성 "mylibrary"의 build.gradle과 해당 정보를 공유해야합니다.

"app1"및 "mylibrary"에서이 정보를 공유 할 수있는 방법이 있습니까?

미리 감사드립니다.

답변

0

다른 프로젝트의 속성에 액세스하는 한 가지 방법은 project(:name) 메서드를 사용하는 것입니다. 여기서 :name은 액세스하려는 프로젝트의 식별자입니다. Chapter 57. Multi-project Builds - 57.1.2에서 자세한 정보를 찾을 수 있습니다. 특정 경우

, 당신은 대신 project(:app1)을 수행하여 '에 MyLibrary'에서 'APP1'에서, 또는 액세스 속성 'project(:mylibrary).hasProperty('something')project(:mylibrary).property('something') 같은 것을 수행하여'에 MyLibrary '에 정의되어 당신'APP1 '사용 속성을 만들 수 있습니다.

또한 코드 청소기를 만들기 위해 ext 폐쇄에 -PversionCode를 저장하고 쉽게 사용 (예를 들어, project(:app1).ext.versionCode.

+0

감사합니다! 그것은 노력하고 있습니다! =) –

관련 문제