2011-04-06 7 views
13

나는 Git에서 Eclipse로 개발 한 하나의 프로젝트를 가지고 있는데, 준비된 .apk 파일과 Dev .apk 파일을 같은 장치에 설치해야한다.동일한 Android App .apk를 같은 기기에 두 번 설치하려면 어떻게해야하나요?

둘 사이의 변화는 동일한에 설치 될 Producion과에는 Deve의 .apk 파일을 만들 수있는 가장 좋은 방법이 무엇인지 XML 피드와 같은 사소한 속성 설정, 등으로 또는 이클립스없이

입니다 장치?

+0

동일한 기기에서 동시에 두 프로그램을 동시에 실행하고 싶은 이유를 묻습니다. 나는 다른 제작과 개발자 ap의 필요성을 이해할 수 있지만 동시에 둘 다를 필요는 없습니다. –

+0

@RobertMassaioli 유스 케이스를 알려 드리겠습니다. 하나의 앱이 있습니다. 앱은 테넌트 기반입니다. 즉, 앱은 인쇄물 정의/구성 파일 등이 다를 수 있습니다. 빌드되었습니다. 그리고 이제는 하나의 기기에서 두 세입자 모두에게 앱이 필요합니다. 두 기기를 사용하는 사람이 두 세입자 모두에게 적합하기 때문입니다. 글쎄요, 길다는 이야기를 짧게하기 위해서 : 분명히 유스 케이스가 있습니다 (같은 앱을 여러개 생산 버전으로 설치 한 것입니다). – AgentKnopf

답변

12

내가 찾은 유일한 방법은 패키지 이름을 변경하는 것입니다. 엄밀히 말하면 이것은 매니페스트 파일에서만 수행해야하지만 이것은 빌드 오류가 발생할 가능성이 높기 때문에 패키지의 이름을 변경해야 할 수도 있습니다. 따라서 com.company.app를 사용하는 경우 com.company.app.dev 및 com.company.app.prod로 변경할 수 있습니다. 리플렉션을 사용하지 않는 한 Eclipse에서 이름 변경 코드를 모두 처리해야합니다.

+0

실제로이 접근 방식으로 끝났습니다. 고맙습니다. – Todd

+1

Eclipse ADT v20을 사용하면 다음과 같이 쉽게 설명 할 수 있습니다. http://stackoverflow.com/a/11829480/226513 – Adam

2

나는 다음과 같은 방법으로 이러한 문제를 해결 해요 : 기본, 생산 및 개발, 같은 :

public class BasicActivity extends Activity {} //actually conntains all code 
public class ProductionActivity extends BasicActivity {} //empty one 
public class DevelopmentActivity extends BasicActivity {} //empty one 

을 그 다음이 2 개의 다른 매니페스트가 말하는

나는 3 개 가지 활동을 : 생산 (포인트 ProductionActivity에 실행 가능으로하고있다 다른 패키지) 개발 (실행 가능한 같은 점에 DevelopmentActivity)

프로덕션 하나를 시작해야 할 때 - 프로덕션 매니페스트 (개미 작업 포함)를 실제 프로덕션으로 복사 했었습니다.

R.class은 매니페스트에 선언 된 패키지와 동일해야하므로 컴파일하는 데 리소스가 약간 복잡합니다. 그러나 다시 한 번 "수작업"으로 나는이 문제를 해결하기 위해 손짓을했습니다.

관련 문제