티스토리 뷰

Android Develop

Android apk 추출 방법

taehwan 2012. 4. 2. 17:45
728x90

Android sdk 추출 방법에는 2가지가 있습니다.
1. 정식 배포판으로 추출
2. 비정식(개발용)으로 추출
이렇게 2개의 방법으로 Android sdk를 추출 할 수 있습니다.

1. 정식 배포판으로 추출
정식 배포판으로 추출할 경우 안드로이드 마켓, T-Store, 올레마켓 등에 배포가 가능합니다. 이렇게 사용하지 않고 단순히 몇몇 친구에게 테스트용으로 사용하실 것이라면 2. 방법을 참고해 주세요.

정식 배포 참고 자료 (  커니의 안드로이드 이야기 )
  http://bit.thdev.net/HepfBz

 버전에 따라 달라진 점은 없지만 비정식으로 추출하는 방법을 설명하기에 앞서 정식 배포방법을 설명할려고 합니다. 위 블로그는 안드로이드 마켓에 업로드 하는 부분까지 자세하게 나와있습니다.

카카오톡 테마를 기준으로 설명하겠습니다.

프로젝트(왼쪽의 리스트에서 오른쪽 마우스 클릭)를 한 후 Export를 클릭합니다.

Export 창에서 Android를 선택하면 Export Android Application이 존재합니다. 클릭하고 Next버튼을 선택하세요.

Project 를 선택합니다. 처음에 오른쪽 클릭을 통해 배포를 시도하였기 때문에 아래와 같이 기본값이 선택되어 있으실 겁니다. (다른 프로젝트를 선택해야 한다면 Browse...를 클릭하고 선택해주세요) Next를 클릭합니다.

 keystore를 선택하거나 새로 생성해주어야 합니다. 이미 배포한 적이 있다면 경로와 비밀번호를 입력해주면 됩니다. 없다면 Create new Keystore를 선택하고 Browse...를 선택하고, 아래 내용을 참고해주세요. 비밀번호는 6자리 이상 작성하셔야 합니다.
 주의 Google Play 마켓에 배포하실 때 본인의 서명 관련 자료(다음 페이지)가 포함되기 때문에 파일과 비밀번호 분실에 주의하셔야 합니다. 그리고 업데이트를 하거나 다시 생성해야 할 경우에도 문제가 발생 할 수 있습니다.

 경로를 선택하시고 파일을 생성합니다. (저는 바탕화면에 만들겠습니다. 이름은 test.keystore 입니다. 파일명과 확장자는 *.* 이기 때문에 abc.de 로 하셔도 전혀 문제가 없습니다. (keystore 내용만 포함되어 있으면 문제가 없습니다.)

Key Creation 부분의 위 4개탭과 이름을 작성하시면 됩니다. 하단의 부분은 옵션으로 필요하실 경우 작성하시면 됩니다.
프로그램의 가명(Alias), 비밀번호, 비밀번호 확인, 인증 유효기간(Validity), 이름을 기본으로 작성하셔야 합니다.

 작성 하시는 중 "A 25 year certificate validity is recommended." 라고 뜨시는 경우가 있으실 수 있습니다. 1년으로 작성을 했더니 최소 25년을 유효기간으로 두어야 한다고 경고가 뜹니다. 인증 유효기간은 (Google Play 마켓 기준) 25년의 기간동안 이 프로그램에 대한 서명을 유지하겠다는 의미입니다.

 이제 마지막 APK (안드로이드 폰에서 설치할 수 있는 패키지(압축, 설치) 파일) 을 생성해야 합니다. 역시 Browse...를 클릭하고 위치를 지정해주면 됩니다.

 기본 값은 프로젝트이름.apk 입니다. 경로를 선택해주고 저장을 클릭합니다. 이클립스에서 Finish를 클릭하면 정식 배포용으로 서명된 apk 파일이 생성됩니다.


사인이 있을 경우(업데이트 또는 재 배포시)

 아래와 같이 기본 Location이 정해지는 경우는 이미 위의 Create new keystore 작업을 한번 진행한 후 이실 겁니다. 이때에는 keystore 생성시 작성한 비밀번호를 꼭 기억하고 있으셔야 재 배포 가능합니다. 비밀번호를 잊어버리신다면 아래 keystore로 생성한 모든 앱이 미아가 될 수 있습니다.

existing key 역시 Alias에 따라서 비밀번호를 작성하시면 됩니다. Alias와 비밀번호를 확인하시고 Next를 클릭하시면 됩니다.
 Alias는 App의 별명이 아닌 자기 자신의 서명에 대한 내용입니다. 동일한 사람이 앱 배포를 할 경우에는 하나의 Alias만 존재하면 됩니다. 앱마다 별도의 Alias가 필요하진 않습니다.

아래처럼 Certificate 기간이 명시되어 있습니다. 기존과 동일하게 배포를 하실것이기에 Finish를 클릭하시면 됩니다.


2. 비정식(개발용)으로 추출

 이제 비정식으로 apk를 추출해보겠습니다. 정식과는 다르게 개잘자 임시 번호로 생성되는 apk입니다. 이를 공식배포용으로 배포할 수는 없습니다.

 Eclipse를 처음 실행하시면 보실 수 있는 화면입니다. Use this as the default and do not ask again을 클릭하지 않으셨다면 항상 이창이 보이실 겁니다. Workspace 의 경로를 잘 확인하셔야 합니다. 윈도우 기본 폴더는 C:\Users(사용자)\사용자이름\workspace (윈도우 7) 입니다. 이 폴더는 처음에 변경이 가능합니다. 제가 사용중인 PC의 기본 경로는 c:\Users\tae\workspace 입니다.

위의 경로를 Windows탐색기로 접근하면 아래와 같습니다. 아래폴더에 .metadata, ch03.SpaceBlaster, ParsingWeather 이렇게 3개의 폴더가 존재하고 2개가 프로젝트 관련 폴더입니다. .metadata는 Eclipse에서 사용하는 설정들을 저장하는 경로입니다.

위의 폴더 구성은 Eclipse에서 아래처럼 확인이 가능합니다.


 ch03.SpaceBlaster 폴더로 접근하면 아래와 같은 형태의 폴더 및 파일 구조를 가집니다. 프로그램에 따라서 다를 수 있지만 대부분 아래와 같은 형태를 가질 겁니다. 아래 폴더중 bin 폴더로 이동합니다.

bin 폴더의 구성은 아래와 같습니다. 이중 apk 파일을 찾아서 친구에게 테스트용으로 배포하시면 됩니다. 추후 정식버전으로 올리시게 된다면 정식버전을 다운받도록 유도하세요!!


마무리

 위의 방법으로 정식 및 비정식 apk 파일을 배포할 수 있습니다. 안드로이드 나온지 한참되었는데.. 이제서야 이런 리뷰를 작성하게 되네요. 저도 아직 정식 배포를 통한 건 없지만 어렵지 않게 할 수 있을 것 같습니다. 언제가 될진 모르지만 정식 배포판을 통해 마켓에 업로드하는 방법도 설명해보았으면 하네요!





댓글