2013-06-26 2 views
0

우리의 응용 프로그램은 무료 및 유료 버전이 있습니다. 우리는 또한 상표가 붙은 버전을 만듭니다. 즉, 응용 프로그램이 2 차원으로 다양합니다.Android Gradle의 빌드 변형에 packageNameSuffix를 설정 하시겠습니까?

네 가지 버전의 수 :

  • 앱, 나이키 에디션. 무료
  • APP, Nike ed. 유료
  • The App, Adidas ed. 유료
  • The App, Adidas ed.

    buildTypes { 
         paid { 
          packageNameSuffix ".paid" 
         } 
    
         free { 
          packageNameSuffix ".free" 
         } 
        } 
    

    그리고이 빌드 맛 : 무료

내 솔루션은 지금 지불하고 무료로, 두 빌드 타입을 가지고있다 leagacy를 들어

productFlavors{ 
    nike{ 
     packageName "com.example.theapp.nike" 
    } 

    adidas{ 
     packageName "com.example.theapp.adidas" 
    } 

} 

는 우리의 응용 프로그램의 변종 중 하나 추론 않습니다 접미사가 없지만 무료 버전으로 처리해야합니다. 내가 원하는 건 buildTypes-block에서 packageNameSuffix를 설정할 때 빌드 풍미를 유지할 수 있다는 것이다. 의사 코드에서는 다음과 같은 것을 원합니다.

buildTypes { 
     free { 
      if(buildFlavor != "nike"){ 
       packageNameSuffix ".free" 
      } 
     } 
    } 

이 가능합니까?

답변

2

예. 것이 가능하다. 이 프로젝트는 4 개의 프로젝트를 만들고 각 프로젝트는 App1/App2의 무료/유료 버전과 4 개의 모든 응용 프로그램의 컨텐츠가있는 라이브러리 프로젝트를 보여주는 단일 클래스 파일 패키지를 갖습니다.

+0

괜찮습니다.하지만 프로젝트가 하나만있는 경우에는 불가능합니다. – lorgartzor

+0

예, 단일 프로젝트에서도 가능합니다. –

+0

어떻게? 나는 매우 궁금합니다 :) – lorgartzor

관련 문제