마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

무료와 유료 버전을 같이 올릴 경우 간단하게 바꾸는 방법이 뭐죠?

0 추천

구글 플레이에 지금 무료앱이 올라가 있는데요. 같은 앱인데 무료는 그대로 놔두고 유료로 해서 하나 더 올릴려고 하거든요.

AndroidManifest.xlm 에서 package= 이건 똑 같게 하고 android:label= 하고 android:name= 만 바꾸면  다른 앱으로 등록이 되나요?

package= 이것만 바꾸고 디렉토리 이름은 그대로 놔두면 컴파일 에러가 나더라고요.

그래서 디렉토리 이름도 전부다 바꿔야 되는데 그렇게 되면 소스코드 관리를 이중으로 해야되는데 이렇게 밖에 할 수 없나요?

간단한 방법은 없나요?

spincat (120 포인트) 님이 2013년 6월 22일 질문
spincat님이 2013년 6월 22일 수정

2개의 답변

0 추천
패키지명 다 바꾸시고요 나머지는 다 초기화하세요 (처음올릴때처럼. .버전코드나 기타등등)
건방진프로그래머 (26,630 포인트) 님이 2013년 6월 22일 답변
패키지명 바꾸면 소스코드 있는 디렉토리 이름도 바꿔야 되죠?
0 추천

xxx.yyy.zzz 라는 패키지를 사용하셨다면,

xxx.yyy.zzz.aaa 같은 패키지를 만들고 시작 Activity를 여기에 한개 복사해 넣어 준 후

AndroidManifest.xml의 패키지명을 xxx.yyy.zzz.aaa  로 바꾸고, 

시작 Activity의 경로를 복사해 넣은 xxx.yyy.zzz.aaa  로 바꾼 이후 

각 소스에서 사용하는 R.java의 import 경로를 변경해주시면 쉽게 변경 가능합니다.

 

저의 경우 배치수행 시

상용 AndroidManifest.xml_상용 같은 것을 AndroidManifest.xml 로 이름 변경하고,

R.java의 import 경로를   sed를 통해 아래와 같이  일괄 변환해서 빌드하고 있습니다.

sed -i 's/import  xxx.yyy.zzz.R;/import xxx.yyy.zzz.aaa.R;/g' *.java       
   ( java 파일의 xxx.yyy.zzz.R; 문자를 import xxx.yyy.zzz.aaa.R; 로 일괄 변환하는 메크로입니다.)
 
마찬가지로 무료로 변경하는 것도 역으로 배치를 수행하게 만들면 되며,
이 경우 큰 소스 변경 없이 두 버젼이 관리가 되는 듯 합니다.
 
 

 

 

사악미소 (65,330 포인트) 님이 2013년 6월 22일 답변
사악미소님이 2013년 6월 22일 수정
잘모르겠네요. 이런것에 관한 참고할 만한 게시물이 있으면 링크좀 걸어주세요. 영어로된것도 좋습니다.
...