2017-10-24 2 views
1

3 가지 맛의 Android 앱이 있습니다. 첫 번째 것은 free입니다. 두 번째 맛은 paid입니다. 그리고 세 번째 풍미는 b2bClient입니다.자바 파일을 두 가지 맛으로 유지하고 내 앱에서 다른 파일을 제외시키는 방법은 무엇입니까?

freepro에는 코드가 중복되지 않도록 라이브러리 (Google 애널리틱스로 지정)가 필요하며 Google 애널리틱스 호출을 둘러싼 도우미 클래스 GoogleAnalyticsHelper이 기본 소스 집합에 있습니다. 그러나 b2bClient은 라이브러리를 사용하지 않습니다. b2bClient APK의 크기를 줄이기 위해 Gradle의 종속성에 라이브러리를 포함시키지 않습니다. 내가 분명하다 assembleB2bClient이 (빌드 시스템은 단지 com.google.android.gms.analytics에서 수업이없는 실행하면 컴파일 오류가 발생

나는 맛이 같은 b2bClient 때 소스 세트에서 GoogleAnalyticsHelper을 제외하려고했습니다.

sourceSets { 

    main { 
     android.productFlavors.all { flavor -> 
      if (flavor.name == "b2bClient") { 
       java.exclude("**/GoogleAnalyticsHelper.java") 
      } 
     } 
    } 

} 
역시 작동하지 않았다

. 같은 오류가. 특정한 맛에 대한 주요 소스 세트에서 클래스를 제외 할 수 있습니까?

+2

GoogleAnalyticsHelper 클래스가 포함 된 라이브러리를 만들고이 라이브러리 모듈을 세 가지 맛에는 포함하고 b2bClient 풍미에는 포함시키지 않는 이유는 무엇입니까? –

+0

@SagarTrehan 당신이 당신의 코멘트를 대답으로 변환한다면, 나는 그것을 받아 들일 것이다 –

+0

게시 된 답변. 받아주세요. –

답변

0

라이브러리 모듈 GoogleAnalyticsHelper의 코드를 포함 analytics 말을 만듭니다. 이제 추가 이 analytics 맛에만 라이브러리는 analytics 동작이 필요합니다.

this link을 따라 특정 향미료에 대한 라이브러리 만 포함하십시오.