2012-03-14 10 views
6

빌드 된 시간에 Android 애플리케이션과 고객이 스키닝 지원을 원합니다. 예를 들어Maven 빌드 프로파일을 사용하여 Android 앱을 스키닝하십시오.

: MVN 깨끗한 -P 개발자, MVN 깨끗한 -P 1 고객을 설치를 설치 MVN 클린 설치 -P Customer2 즉

, 다른 고객 이미지, 다른 문자열의 조금 다른 설정이 필요 (appName, 저작권 등) 또한 레이아웃의 일부 요소는 숨겨져 있거나 표시되어야합니다 (개발자 프로필). 다른 레이아웃도 마찬가지입니다.

내 첫 번째 생각은 res-customer1, res-customer2와 같은 폴더를 표준 res 디렉토리와 병렬로 사용하고 pom.xml의 프로필 정의에서 스왑을 수행하고 res로 이름을 바꾼다는 것입니다. 작업. 나는 항상 빌드에 원래 res 폴더를 가져오고이 경우 중복 오류가 발생합니다.

즉, 스와핑이 해상도 내에서 이루어져야한다는 뜻입니까? 안드로이드 메이븐 플러그인 설정시 resourceDirectory를 지정하지 않았습니다.

나는 많은 인터넷 검색을 해왔지만, 지금까지 같은 문제가있는 사람을 찾지 못했습니다. 그것을 해결하는 방법? 거기에 일반적인 패턴이 있습니까? yorkw의 답변에 따라 사전

+1

실제로 봤어 사양 : 다르게, 당신은이 위대한 블로그 게시물을 따를 수 ify resourceDirectory는 각 프로필의 Android Maven 구성에 있습니까? 예 : $ {project.basedir}/res-custom1. 예상대로 작동합니다. – yorkw

+0

나는 그것에 대해 노력하고 있습니다, 당신 말이 맞아 보이는군요, 친구. 나는 확실한 대답으로 돌아올 것이지만, 많은 많은 감사합니다. – MartinC

+0

좋아, 작동, 내 하루 만들어, yorkw :) 대단히 감사합니다. – MartinC

답변

1

서로 다른 buid 프로파일에 대해 서로 다른 자산이나 자원을 사용하려는 경우 당신은 심지어 각 빌드의 여러 같은 디렉토리를 병합 할 경우

https://ebuddytechblog.wordpress.com/2013/04/08/branded-android-builds-using-maven/

+0

감사합니다, 나는 모양을 가질 것입니다 – MartinC

+0

@Blackhex Link는 더 이상 유효하지 않습니다 : 경고! 이 도메인에 대한 도메인 매핑 업그레이드를 찾을 수 없습니다. 이 도메인을 사용하려면 로그인하여 블로그의 도메인 업그레이드 페이지로 이동하십시오. – NightSkyDev

+0

링크가 업데이트되었습니다. 알려 주셔서 감사합니다. – Blackhex

6

에서

많은 감사,이 솔루션은 나를 위해 작동 각 프로파일에 대한

는 resourceDirectory는 안드로이드 받는다는 플러그인의 구성에 추가해야합니다.

예를 들어

:

<resourceDirectory>${project.basedir}/res-customer1</resourceDirectory> <resourceDirectory>${project.basedir}/res-customer2</resourceDirectory>

등 ...

+0

Gradle처럼 자동으로 병합 될 여러 리소스 및 자산 디렉토리를 가질 수 있습니까? – Blackhex

+0

입니다! 이 질문에 대한 내 대답을보십시오. – Blackhex