2015-02-04 5 views
2

현재 Google Play에서 실제로 사용할 수있는 앱을 개발 중이며 두 가지 버전이 있습니다. 그 중 하나는 모든 기능을 갖추고 있으며 광고없이 실행됩니다. 다른 기능은 모든 기능에 액세스 할 수 없으며 광고를 표시합니다.Android Studio에서 동일한 앱의 두 가지 버전 개발

두 개의 다른 Android 프로젝트와 두 개의 다른 저장소를 사용하여이 두 버전을 관리하고 있습니다.

같은 앱의 두 버전의 개발을 어떻게 더 잘 관리 할 수 ​​있는지 알고 싶었습니다. 내가 gradle에서 맛에 대해 뭔가를 읽었지만 정말 그들이 내 경우에 유용 할 수 있는지 모르겠다. 내가 생각해 본 다른 것 중 하나는 지점이있는 저장소를 하나만 가질 수 있다는 것인데,이 저장소는 동일한 기능이 아닌 다른 파일을 가지고 있으며 항상 공통 파일 업데이트를 유지합니다.

이 상황을 처리하는 더 좋은 방법은 무엇입니까? 다른 아이디어도 환영합니다. 당신의 도움이

+0

가능한 [Build Flavors 사용 - 소스 폴더 구조 및 build.gradle 올바르게] (http://stackoverflow.com/questions/16737006/using-build-flavors-structuring-source-folders-and-build-gradle -correctly) – 323go

답변

2

Gradle을 맛 사전에

덕분에 당신이 찾고있는 무엇인가. 그들과 함께 모든 공통 코드 및 리소스를 한 곳에서 가질 수 있으므로 복사 할 필요가 없으며 다른 곳에서 다른 코드와 리소스를 복사 할 필요가 없습니다. 또한 Flavors는 여러 버전의 앱을 만드는 편리한 방법을 제공합니다.

if (FULL_VERSION) { 
    unlockFeature(); 
} 
else { 
    showAd(); 
} 

당신은을 작성하여이를 구현할 수 있습니다 : 당신이 그것을 설명 어떤에서

는 경우에 당신은 단순히 구분하는 부울 필요하므로 응용 프로그램 모두 당신의 버전, 거의 같은 것 같다 각 플레이버의 클래스. 하나는 상수가 참으로 설정되고 하나는 상수가 false로 설정된다. 좀 더 객체 지향적 인 디자인은 한 가지 맛을위한 기능을 잠금 해제하고 다른 것을위한 광고를 표시하는 클래스를 갖는 것입니다.

맛은 패키지 이름이 다른 APK를 생성하므로 기능을 잠금 해제하고 광고를 제거하는 인앱 구매를 할 수 없습니다.

+0

내가 물어볼 수있는 경우, 인앱 구매 방법을 사용하여 추가를 제거하는 최선의 방법은 무엇이라고 생각하십니까? – Marcus