서문 : Android 앱에서 빌드 유형 및 제품 버전을 사용하는 방법에 대한 질문은 아닙니다. 관련된 기본 개념을 이해합니다. 이 질문은 빌드 유형으로 지정해야 할 구성, 제품 플레이버에서 지정해야하는 구성 및 실제로 구별이 필요한지 여부를 이해하려고합니다.
이번 주에는 Android 앱의 gradle 구성에 대해 자세히 배웠습니다. 처음에는 빌드 유형과 제품의 맛에 대해 잘 알고 있다고 생각했지만 문서에 더 깊이 들어가면 둘 사이의 구별이 전혀 명확하지 않다는 것을 깨달았습니다.
잘 정의 된 계층 구조가 있기 때문에 (빌드 유형에 지정된 속성이 제품 버전에 지정된 속성보다 우선한다는 의미에서) 빌드 유형과 제품 버전을 전혀 구분할 필요가없는 이유를 이해하지 못합니다. 모든 특성과 메소드를 제품 플레이버 DSL 오브젝트에 병합 한 다음 빌드 유형을 (기본) 플레이버 차원으로 처리하는 것이 더 좋지 않습니까?
혼란을 초래 한 몇 가지 구체적인 예 :
signingConfig
속성은 빌드 유형 및 제품의 맛을 모두 설정할 수 있습니다 ...하지만minifyEnabled
(그리고, 내가 가정shrinkResources
?) 만 빌드 유형에서 구성 할 수 있습니다.applicationId
제품 플레이버applicationIdSuffix
에서만 지정할 수 있으며 빌드 유형에서만 지정할 수 있습니다!?
실제 질문 :
위의 예를 감안할 때 : 빌드 유형의 역할과 제품의 맛 사이에 명확한 차이점이 있습니까?
그렇다면 그것을 이해하는 가장 좋은 방법은 무엇입니까?
그렇지 않다면 결국 빌드 유형과 제품 특징을 구성 가능한 단일 DSL 객체로 병합 할 계획입니까?
applicationId
예를 들어 전체 / 시간을 변경할 수있는 방법과시기를 제한합니다 .