2011-10-12 3 views
3

Android 애플리케이션의 경우 개발, UAT, 생산과 같은 다양한 환경에 대해 서로 다른 구성이 필요합니다.Android 애플리케이션 환경 설정

나는 내 마음에 그것을 구현하는 2 가지 방법이 있습니다. 너의 의견으로 나를 계몽 해주십시오.

1). 3 개의 다른 .properties 파일을 사용하거나 2). 공유 구성을위한 baseconfig 클래스를 생성하고 3 개의 구성 클래스에서 확장합니다 (좋은 생각인지 확실하지 않습니다)

두 방법 모두 나중에 쉽게 액세스 할 수 있도록 정적 구성 클래스에로드됩니다.

각 방법의 장단점은 무엇입니까? 다른 대안이 있습니까?

답변

1

저는 최선의 방법은 하나의 활성 .configuration 파일을 갖는 것입니다. 예를 들어 자산 폴더에 저장할 수 있습니다. 트리 파일에 대한 아이디어는 3 개의 .properties 파일 모두를 .apk로 압축해야하기 때문에 좋지 않은 것 같습니다. 코드는 항상 동일한 .properties 파일을 읽고 적절한 .properties 파일을 복사하여 빌드 유형을 결정합니다.

프로젝트에서 구성 폴더를 만들면 3 개의 .properties 파일을 모두 준비 할 수 있습니다. 그런 다음 예를 들어 세 개의 ANT 작업을 만들고 각각은 하나의 속성 파일을 동일한 대상 파일 이름으로 assets 폴더에 복사합니다. 다른 방법으로도이 작업을 수행 할 수 있습니다 (Windows의 경우 .bat, Linux의 경우 .sh, ANT 작업을 매개 변수로 사용하여 하나의 작업을 선택하고 어떤 파일을 선택해야하는지 ...).

따라서 프로덕션 버전을 빌드하려면 프로덕션 .properties 파일을 복사 할 작업 프로덕션을 실행하십시오. 그런 다음 .apk를 빌드하십시오. 물론이 모든 것들은 완전한 ANT 빌드 프로세스에 통합 될 수 있습니다. 빌드 프로세스의 시작 부분에서 .properties 파일을 복사하는 단계를 수행 할 수 있습니다.

이렇게하면 .properties 파일을 처리하기 위해 APK의 최적 크기와 항상 동일한 코드를 얻을 수 있습니다. 또한 "외부에서"빌드 타겟을 자동화 할 수있는 자동화 된 빌딩 환경 (예 : Hudson)에 적합합니다.

+0

@dstedanox Thx 시도해 보겠습니다. – Riddle

+0

이것은 좋은 제안이지만 런타임에 환경을 변경할 수있게하려면 도움이되지 않습니다. –