
93
3
장
-
빌드 타입과 제품 특성
3.5
자바 소스 코드 병합하기
문제
제품 특성별로 액티비티나 자바 클래스와 같은 소스 코드를 다르게 하고 싶다.
해결
적절한 소스 디렉터리를 추가하고
main
소스 세트와 병합할 수 있게 구성한다.
논의
제품 특성과 빌드 타입에서 정의한 문자열과 레이아웃
XML
파일은
main
소스 세트에 대응되
는 값을 덮어쓰기하지만, 자바 클래스는 다릅니다.
main
소스 세트에 있는 어떤 코드가 특정
클래스를 참조하는데, 이것의 구현체가
main
소스 세트에 없더라도 각 빌드 타입과 제품 특성
에서 구현 클래스를 가질 수 있습니다.
이것은 상황이 훨씬 더 복잡해질 수도 있습니다. 레시피
3
.
2
와
3
.
4
에서 다룬
Hello
World
애
플리케이션에는
client
차원에 두 개의 제품 특성이 있습니다. 여기에 도움을 요청하는 버튼
을 메인 액티비티에 추가해보겠습니다. 버튼의 레이블은 ‘
Call
for
Help
!’입니다.
friendly
,
wayne
제품 특성의 애플리케이션을 실행한 결과는 [그림
3
-
14
]와 같습니다. [그림
3
-
15
]는
Stark
고객을 위한 메인 액티비티 실행화면입니다.
그림
3-14
Wayne
고객을 위한 메인 액티비티 그림
3-15
Stark
고객을 위한 메인 액티비티