2017-09-16 1 views
1

모든 빌드에 동적으로 원격 속성을로드하고, Gradle을 파일의 사용 가치 :안드로이드 Gradle을 전역 상수

-settings.gradle 
-build.gradle (project) 
-build.gradle (module : lib) 
-build.gradle (module : app) 

나는 해결책을 찾았지만이 있는지 모르겠어 최고의 하나

//cfg is a java Properties class (key/value) 
gradle.ext.cfg = Plugin.configureProject("url") 

그리고 난 (build.gradle에서 애플리케이션 ID와 (예를 들어, 응용 프로그램을))처럼 모든 Gradle을 파일에 사용 : settings.gradle에서

, 난 그런 속성을 복구

applicationId gradle.ext.cfg.get("appId") 

rootProject.ext를 사용하려했지만 settings.grade에서 액세스 할 수 없습니다.

나는

가 그 좋은가요 .. 더 나은이 있는지 모르는, 사용자 정의 플러그인하지만 내부 정적 등록을하고 settings.gradle에로드 할 수있는 모든 액세스 할 수 있도록하는 유일한 방법을 만들려고 모든 .gradle에서 그런 gradle.ext를 사용 하시겠습니까? 그것은 작동하지만 어쩌면 더 나은 해결책이 있습니다.

들으

당신처럼 build.gradle이 라인 buildConfigField "boolean", "ISBOOLEAN", "false"을 추가 할 수 있습니다

답변

1

:

buildTypes { 
     release { 
      //some code 
      buildConfigField "boolean", "ISBOOLEAN", "false" 
      //somecode} } 

다음 BuildConfig라는 새로운 자바 파일이 변수를 포함 생성되고 다음 정적에 액세스 할 수 있습니다 변수.

+0

예, 자바 상수에 대해 그렇게하겠습니다.하지만 모든 gradle 파일에 대한 상수가 필요합니다. 나는 나의 지위를 편집한다, 나는 명확하지 않았다 미안 – Lyofen

관련 문제