2010-12-07 4 views
7

방금 ​​첫 번째 앱을 출시했으며 무료 버전을 받고 싶습니다. 정식 버전에서 변경 사항을 쉽게 병합 할 수 있도록 무료 버전 지점 (svn)을 어떻게 관리해야합니까? Manifest 파일에서 패키지 이름을 변경하는 것이 가능합니까? 또는 패키지 이름이 코드마다 달라야합니까? 그렇다면 어떻게하면 쉽게 변경 사항을 병합 할 수 있습니까?무료 버전을 관리하는 방법?

감사합니다, 제이슨

답변

1

당신이 정말로 무료 버전을 만들기 위해 다른 지점을 유지 하시겠습니까?
동일한 코드베이스를 사용하고 #ifdef 또는 구성 매개 변수를 사용하여 무료 버전의 일부 기능을 비활성화합니다.

+0

하지만 나는 시장에 두 번 apk 같은 패키지 이름을 게시 할 수 없었습니다. – Jason

+0

@ Jason, 나는 안드로이드 개발을 모르지만 패키지 이름이 정의 된 파일의 별도 복사본을 보관할 수는 없습니까? –

+0

매니페스트의 경우에만 그렇습니다.하지만 코드 패키지를 변경해야하는 경우 문제가 될 수 있습니다. 가짜 패키지를 제안하고 매니페스트 파일을 가짜 패키지로 변경하면 문제를 해결할 수 있습니다. 그것이 좋은지 알자. – Jason

2

내 모든 응용 프로그램에서 이것을 사용

public static final boolean LITE_VERSION = true; 

다음 몇 가지 기능을 해제하는 데 사용합니다.

LITE_VERSION이 true로 설정된 경우 java 컴파일러가 if (! LITE_VERSION) 블록의 코드를 무시하므로 리버스 엔지니어링 할 수 없습니다 (javap -c "명령).

+1

고마워.하지만 여전히 패키지 이름 문제로 나에게 남겨두고있다. 당신은 그것에 대해 무엇을하고 있는가? – Jason

+0

음 .. 라이센스 문제로 귀결됩니다. 무료 버전에는 라이센스를 부여 할 수 없습니다. 도서관에 갈 방법입니다 – GSree

0

빌드에 Ant를 사용합니다. 나는 이전에 how I build two versions of the same app을 문서화했다. 서로 다른 매니 페스트를 다루는 방법을 논의하는 마지막 섹션은 아마도 여러분에게 가장 관심있는 부분 일 것입니다.

+0

내가 집으로 돌아올 때 흥미로운 것 같아요,이 방법은 크레타 기능을 사용하지 않도록 허용합니까? – Jason

+0

크레타 섬 기능? :) 각 버전마다 다른 매니 페스트 파일을 사용합니다. 또한 세 가지 소스 트리 (주, 데모 및 공용)를 설정하고 Ant를 사용하여 세 개의 트리 중 두 개 (기본 + 공통 또는 데모 + 공통)를 빌드하기 전에 단일 트리로 병합합니다. –

0

나는 동일한 코드베이스와 패키지 이름을 사용하고 추가 앱 (apk) 또는 일련 번호 일 수있는 프리미엄 키를 제공하려고합니다. 이 접근 방식은 업그레이드하려는 사용자가 이전 데이터 및 설정을 사용할 수 있다는 긍정적 인 효과가 있습니다. 열쇠는 단지 동적으로 기능을 활성화하기 전에 언급과 같은 깃발을 가능하게합니다

관련 문제