스마트폰앱

오늘:
492
어제:
2,183
전체:
2,858,175

고객센타 : 070-7752-2000
팩스 : 070-7752-2001
휴대폰 : 010-9513-0019
email : voipkorea@yahoo.co.kr

국민은행
(주)제이에스솔루션
047101-04-155519

Flag Counter
■ 무료 : 유선 집전화 휴대폰 ( 한국 미국 중국 카나다) ↔ (국내 해외 여행자 상사 주재원 유학생) / 가입무 무제한무료■

설명을 보면 복잡해보이지만 앱등록을 쉽게하는 방법은 

1.구글이메일 아이디등록

2. https://play.google.com/apps/publish/ 접속해서 카드로 결재 28불

3.apk 생성후 업로드 및 주어진 항목 작성

4.끝


http://blog.daum.net/pcbookweb/1085

 

http://www.arisoftware.com/156

 

 

책으로보기

http://www.yes24.com/24/goods/5784630

 

http://book.interpark.com/product/BookDisplay.do?_method=Detail&sc.shopNo=0000400000&dispNo=&sc.prdNo=209027963

 

이 책의 목표는 다음과 같습니다.
 

쉽고 빠르게 탄탄한 기초를 잡는다!

실전 개발로 취업 가능한 중급 앱 개발자로 변신한다!

 

이 책은 다음과 같이 구성되었습니다.

 

PART Ⅰ 안드로이드 기초 다지기

안드로이드를 처음 시작하시는 분들은 여기부터 학습을 시작하십시오. 안드로이드의 구조와 기본 개념들, 개발 환경을 설치하는 방법과 프로젝트의 구성 등 필수적인 기본 지식을 습득합니다. 또한 manifest 파일과 인텐트의 개념을 살펴본 후, 액티비티, 콘텐트 프로바이더, 서비스, 브로드캐스트 리시버 등 안드로이드의 주요 구성 요소를 파악하면서 안드로이드에 대한 기본을 다집니다. 처음이라서 잘 이해가지 않는 부분이 있어도 그냥 한 번 읽어두십시오. 진도를 나가면서 나중에 자연스럽게 이해되도록 점진적으로 설명하고 있습니다. 

 

PART Ⅱ UI 객체 사용하기 

일반적인 UI 설명과는 차별화된 해설을 합니다. Android 2.3을 기준으로 설명하되 Android 3.0에서 사용되는 UI까지 완벽하게 해설합니다. 여기서 제공하는 샘플 프로젝트들은 UI 객체의 기본 사용법과 함께 수준 있는 실무 코드로 구성됩니다. 아주 단순한 기능들도 실무에 그대로 적용할 수 있는 전문적인 소스 코드를 제공하고 세밀하게 분석합니다. 이 과정에서 UI를 활용해서 다음과 같은 11개의 완전한 실전 앱을 개발하는 경험을 쌓게 됩니다 :

 

① 연락처 관리 앱 ② 디지털 액자 앱 ③ 그림 그리기 앱 ④ 스톱워치 앱

⑤ 사인 앱(전자서명 앱) ⑥ 거울 앱 ⑦ 셀카 앱 ⑧ 로또 앱

⑨ 카메라 줌과 자동 포커스 앱 ⑩ 연속 줌 카메라 앱 ⑪ 낙서장 앱

 

PART Ⅲ 필수 테크닉 익히기

안드로이드의 내부 핵심 기능들을 설명합니다. 이전 파트의 학습을 통해 자연스럽게 일부 내부 기능들을 학습하게 됩니다. 이 파트에서는 앞의 파트에서 설명되지 않았으면서 실무에서 앱을 제작할 때 반드시 알아야 하는 필수 기능들을 샘플 프로젝트를 통해 실용적인 코드들로 설명합니다. 간단한 기능도 실무에 즉시 적용할 수 있는 효율적인 사용 방법을 제시하며, 일부 기능은 업그레이드된 수준의 솔루션을 제공하기도 합니다. 

 

PART Ⅳ 실전 앱 프로젝트

마지막으로 6개의 실전 앱을 개발합니다. 이 6개의 앱은 실무에 필요한 기술을 중심으로 그리고 스마트폰의 특성을 반영하는 기술 트렌드 중심으로 즉, 스마트폰의 터치, 센서 등 행동 공학적 특성과 GPS, MAP과 같은 최신 기술 트렌드에 맞춰 앱을 만듭니다. 여기서 추가로 다양한 앱을 개발함으로써 독자들은 자신의 안드로이드 개발 수준을 중급자로 한 단계 업그레이드시키게 됩니다.

① 서비스 프로젝트 : 행운 번호 추천 앱 개발

② 브로드캐스트 리시버 프로젝트 : 시한폭탄 게임 앱 개발

③ SQLite 데이터베이스 프로젝트 : 복불복 게임 앱 개발

④ 서버와 XML 해독 프로젝트 : 요리 정보서비스 앱 개발

QR 코드와 외부 API 프로젝트 : 바코드 이벤트 앱 개발

⑥ 센서 프로젝트 : 나이 측정 게임 앱 개발

 

 

안드로이드 마켓에 앱 배포하기

 

먼저, 안드로이드 마켓에 앱을 등록하여 배포하는데 필요한 절차를 요약해 봅니다.


① 개발자 등록
② 앱 인증키 발급
③ 앱 업로드
④ 앱 배포
⑤ 실물 단말기 테스트


1 개발자 등록


안드로이드 앱을 등록하여 배포하려면 먼저, "안드로이드 마켓"에 개발자로 등록해야 합니다.


스텝 1
"http://www.android.com" 사이트에 접속하고, 하단 오른쪽 "Android Market" 버튼을 클릭하여 "안드로이드 마켓" 페이지로 이동합니다.

 

196A62424EAE0610217AC4

 

스텝 2

"안드로이드 마켓" 페이지의 하단에 있는 "if you are a developer, leam about publishing your application here." 버튼을 클릭합니다.

 

1764943E4EAE065B2AACDB

 

스텝 3

"안드로이드 마켓"에 계정이 없어 로그인하지 않았다면, 안내문과 함께 로그인 창이 나타납니다. 안드로이드 마켓에 등록하려면, 먼저 구글 계정이 있어야 합니다. 구글 계정이 있다면, "로그인 폼 (Google Account)"에서 "Email"란에 구글에 등록되어 있는 email을 입력하고, "Password"란에 암호를 입력한 후, "Sign in" 버튼을 클릭하여 로그인합니다. 구글 계정이 없다면, "로그인 폼(Google Account)" 아래에 있는 "Create an account now" 버튼을 클릭하고, 구글 계정을 등록한 후에 다시 시도합니다.

 

1169EC404EAE06B6280851

 

스텝 4

구글 계정이 없을 경우, 구글 계정 등록 페이지로 이동하여 필요한 정보를 입력하고 안드로이드 마켓에 사용할 구글 계정을 등록합니다.

 

197C24434EAE06EC1E0CFB

 

스텝 5

"구글 계정 등록"이 완료되면, 자동으로 로그인되어 그림과 같이 나타날 수 있습니다. 이는 구글 계정을 사용할 이메일이 올바른 소유자인지를 확인해야 한다는 것을 의미합니다.

 

1143C4444EAE072831A857

 

스텝 6

다시 "안드로이드 마켓"에서 방금 등록한 계정으로 로그인하면, 그림과 같이 등록한 이메일 계정에 대한 "인증 안내문"이 나타납니다. "To have the verification email resent to xxx@xxx.xx click here" 버튼을 클릭하여 지정한 이메일로 인증 요청 메일을 발송하도록 합니다.

 

175204444EAE07641816CB

 

스텝 7

구글은 계정으로 등록한 이메일에 인증 코드와 함께 링크 주소를 발송하고 이메일 발송 결과를 웹 화면에 출력합니다.

 

116C453D4EAE07B72B4DAD

 

스텝 8

구글 계정으로 등록한 이메일을 수신해 보면, 구글 자동 메일 시스템이 인증키와 함께 구글 시스템이 인증을 확인할 수 있는 링크 주소가 이메일 내용에 있을 것입니다. 인터넷이 연결 상태에서 이 링크 주소를 클릭합니다.

 

186EB7404EAE07F128AAF0

 

스텝 9

수신된 이메일의 인증 링크를 클릭하여 구글에 인증키가 전달되면 웹 화면에 이메일 인증이 완료되었다는 메시지가 나타납니다. 화면 하단에 있는 "Click here to continue" 버튼을 클릭하거나 "안드로이드 마켓" 페이지로 다시 돌아가 로그인을 합니다.

 

1101A0414EAE08281A56F9

 

스텝 10

"안드로이드 마켓" 페이지로 돌아가 로그인을 하면, 그림과 같이 "안드로이드 마켓"에 개발자로 등록하는 화면이 나타납니다. 이 화면에서 필요한 정보를 입력하고 "Continue" 버튼을 클릭합니다. 물론, 이미 안드로이드 개발자로 등록되어 있다면 이 화면은 나타나지 않고 자신의 마켓 관리 페이지로 이동합니다.

 

136D993D4EAE085E2B37E8

 

안드로이드 개발자를 등록하려면, 다음과 같이 수행해야 할 3가지 조건이 있습니다.


① 개발자 프로필 등록
② 개발자 등록비 신용카드 결제
③ 안드로이드 마켓에 대한 배포 계약


안드로이드 개발자 등록에 필요한 항목을 살펴보면 다음과 같습니다.


① Developer name : 개발자 이름 (임의로 주시면 됩니다.)
② Email Address : 이메일 주소 (로그인한 구글 계정으로 잡혀 있습니다.)
③ Website URL : 홈페이지 주소 (자신의 홈페이지 주소를 기록합니다.)
④ Phone Number : 전화번호 (자신의 핸드폰 번호 또는 집 전화번호를 입력합니다.)

 

[참고] 전화번호 기재
전화번호 기재 사항에서 주의해야 할 것은 맨 앞부분에 "+" 기호를 반드시 붙여 주어야 합니다.


예) 본인의 핸드폰 번호가 010-1234-5678 이라면 [+821012345678]을 기재합니다. 앞의 숫자 82는 한국 국가 번호입니다. 핸드폰의 경우 010의 앞자리 0을 제외한 나머지 10과 뒤의 번호를 그대로 기재해주면 됩니다. 지역번호 경우도 마찬가지로 서울일 경우 02 지역번호에서 0을 제외한 2부터 기재하여 주면 됩니다.

 

스텝 11

개발자 등록비 결제에 대해 안내하는 창이 나옵니다. 안내문을 확인하고 "Continue" 버튼을 클릭합니다.

 

157A8C464EAE0916245095

 

스텝 12

등록비 결제 화면이 나타나면, 필요한 정보를 입력하고, "Agree and Continue" 버튼을 클릭합니다.

 

157CC73E4EAE094608D4C1

 

1625103F4EAE096123B44E

 

스텝 13

등록비 결제에 대한 정보가 올바르면, 그림과 같이 나타나고, 결제를 승인하려면, "Place your order now" 버튼을 클릭합니다.

 

207ED93D4EAE09A40B88F4

 

스텝 14

결제가 진행되는데 약간의 시간이 소요됩니다.

 

2013ED464EAE09E201C182

 

스텝 15

결제가 성공하면, 결제 완료창이 나타납니다. 원하는 대로 결제가 완료되었으면, "Return to Android Market" 버튼을 클릭하여 "안드로이드 마켓"으로 다시 돌아갑니다.

 

1109B4454EAE0A140A2912

 

스텝 16

"안드로이드 마켓"으로 이동하면 안드로이드 개발자의 응용 프로그램 배포에 대한 동의 페이지가 나타납니다. 동의 여부에 체크한 후 "I agree, Continue" 버튼을 클릭합니다.

 

114E39444EAE0A4733A6C6

 

스텝 17

그림과 같이 안드로이드 등록 완료 메시지가 나타나면, 안드로이드 개발자 등록 신청이 완료되고, 안드로이드에서 승인해주기를 기다립니다. 필요하다면 "Upload Application" 버튼을 이용하여 승인되기 전에 개발자가 개발한 응용 프로그램을 업로드할 수 있습니다.

 

127971434EAE0A7E3158A0

 

[참고]

개발자 등록이 완료되면, 개발자가 제작한 앱을 업로드는 할 수 있지만, 곧바로 퍼블리싱을 할 수는 없습니다. 등록이 되었어도 진행 중이기 때문입니다. 등록 완료 안내문에 안내하듯이 곧바로 배포할 수는 없습니다. 안드로이드 관리자가 신청 사항을 검토하고 승인해주는데, 하루 정도의 시간이 소요됩니다

 

 

2 안드로이드 앱 인증키 발급


안드로이드 앱은 ".apk" 파일 형식으로 배포하며, 안드로이드 앱을 배포하려면, 개발한 안드로이드 앱에 대한 신뢰를 보증할 수 있는 인증키를 앱에 설정해야 합니다. 개발 당시에 가상기기에 설치할 수 있었던 것은 디버깅용 인증키가 자동으로 사용되었기 때문입니다. 이 상태에서 안드로이드 마켓에 등록하면 안 됩니다. 디버깅용 인증키를 배포용 인증키로 교체해야 합니다.


자바 기반의 응용 프로그램 개발은 모두 터미널을 이용하여 구현할 수도 있지만, 명령어를 일일이 외 워야 하고 입력해야 하는 비효율적인 면이 있습니다. 응용 프로그램이 복잡해지면 복잡해질수록 이러한 상황은 더 심해지고 대중적인 개발 도구로 자리 잡기는 어렵습니다. 다행히 이러한 배경에서 이클립스에서는 앱 인증키를 손쉽게 생성할 수 있도록 지원하고 있습니다.

 

2.1 이클립스를 이용한 앱 인증키 생성

 

스텝 1

적당한 위치("C:\Users\owl")에 앱 키 폴더("Keytools")를 생성하고, 앱 키 폴더("Keytools")에 앱 배포 폴더("Test")를 생성합니다. "앱 배포 폴더"는 배포할 ".apk" 파일과 인증키 파일을 보관하는데 사용됩니다.

 

110A52464EAE0B871E7997

 

스텝 2

이클립스에서 배포할 패키지를 선택하고 마우스 오른쪽 버튼을 클릭하여 콘텍스트 메뉴를 연 후 , [ Android tools > Export signed Application Package ] 메뉴를 실행합니다.

 

191651414EAE0BBA068F24

 

스텝 3

이미 선택된 프로젝트명이 기본값으로 잡혀 있습니다. 필요하다면, "Browse..." 버튼을 이용하여 패키지를 변경할 수 있습니다. 배포할 패키지를 확인하고, "Next"를 클릭합니다.

 

180F48434EAE0C0411EBE5

 

스텝 4

처음으로 배포하는 상황이므로 "Keystore selection" 화면에서 "Ceate New Keystore"를 선택하고, "Browse..." 버튼을 이용하여 앞서 생성한 "앱 배포 폴더"를 지정합니다. 앱 배포를 보호할 암호를 입력한 후 "Next" 버튼을 클릭합니다.

 

191440464EAE0C350112EE

 

"Keystore selection" 화면의 항목을 살펴보면 다음과 같습니다.


● Location : 키를 저장할 위치를 설정합니다. 앞서 생성한 폴더를 선택하고, 그림과 같이 확장자를 ".keystore"로 저장합니다.

 

200F91454EAE0C640BC2F0

 

● Password : 암호를 6자리 이상으로 임의로 설정합니다.
● Confirm! : 암호를 재입력하여 줍니다.

 

스텝 5

"Key Creation" 화면이 나타나면, 새로 생성할 앱 인증키에 대한 정보를 입력하고, "Next" 버튼을 클릭합니다.

 

11642E444EAE0CA011A946

 

"Key Creation" 화면의 항목을 살펴보면 다음과 같습니다.


● Alias : 인증키 정보에 대한 별명을 입력합니다.
● Password : 인증키에 대한 암호를 입력합니다.
● Confirm! : 인증키 암호를 재입력합니다.
● Validity (years) : 인증키의 유효기간을 입력합니다. 단위는 1년이며, 최대 1000년까지 입력할 수 있습니다.
● First and Last Name : 개발자의 이름을 입력합니다.
● Organizational Unit : 소속 단체에 대한 부서명을 입력합니다.
● Organization : 소속 단체명을 입력합니다.
● City or Locality : 시 또는 지역명을 입력합니다.
● State or Province : 주 또는 도명을 입력합니다.
● Country Code (XX) : 국가 코드를 입력합니다. 대한민국의 경우 KR을 입력합니다.

 

스텝 6

"Destination and key/certificate checks" 화면이 나타나면, "Browse..." 버튼을 이용하여 배포 파일을 저장할 위치와 파일명을 정의하고, "Finish" 버튼을 클릭합니다.

 

11030D404EAE0CED1EC5A3

 

스텝 7

앱 배포 폴더를 확인해보면 그림과 같이 앱 배포본(Test.apk)과 인증키 파일(test-key.keystore)이 생성된 것을 확인할 수 있습니다.

 

121B7B464EAE0D1B07FCFB

 

이미 생성한 인증 정보를 이용하여 다시 배포본을 만들려면 다음과 같이 합니다.

 

스텝 8

[ Android tools > Export signed Application Package ] 메뉴를 실행하여 "Export Android Application" 창을 열고, "Next" 버튼을 클릭하여 다음으로 넘어 갑니다. 배포할 패키지를 선택한 후, "Next" 버튼을 클릭합니다.

 

161CC4464EAE0D5907DD61

 

스텝 9

"Use existing keystore"를 선택하고, 앞서 설명한 것과 같이 필요한 정보를 입력한 후 "Next" 버튼을 클릭합니다.

 

163AFF3F4EAE0D890B92E1

 

스텝 10

"Alias" 항목에서 이미 생성했던 키를 선택하고, "Password"를 입력한 후, "Next" 버튼을 클릭합니다.

 

2004C43E4EAE0DBF16BB1B

 

스텝 11

"Destination APK file"을 지정하고, "Finish" 버튼을 클릭합니다.

 

150815434EAE0DEE2BC957

 

 

2.2 터미널을 이용한 앱 인증키 생성


터미널 명령에 익숙한 개발자라면, 다음에서 설명하는 바와 같이 앱 인증키를 터미널 명령으로 생성할 수 있습니다. "MS Windows"에서는 명령 프롬프트(CMD.exe)를 실행하고, "Mac OS X"와 같은 유닉스 계열에서는 터미널을 실행합니다

 

스텝 1

명령 프롬프트 또는 터미널을 실행합니다.

 

스텝 2

"mkdir" 명령으로 "앱 키 폴더(C:\User\owl\Keytools)"를 생성하고, "cd" 명령으로 "앱 키 폴더"로 이동합니다.

 

스텝 3

다음과 같이 "keytool" 명령을 이용하여 "앱 키 생성"을 시작합니다.

● 앱 키 생성 명령 형식 : keytool -genkey -v -keystore "앱키파일명" -alias -alias_owl -keyalg RSA -validity "유효기간(년)"
● 앱 키 생성 명령 사례 : keytool -genkey -v -keystore test/test-key.keystore -alias -alias_owl -keyalg RSA -validity 10000

 

 

12241D464EAE0E8301BE33


스텝 4

앱 키가 올바르게 생성되면, 그림과 같이 나타나고, 파일 탐색기에서 생성된 앱 키 파일을 확인할 수 있습니다.

 

201296414EAE0EE427031E

 

스텝 5

[ Andoird Tools > Export Unsigned Application Package ] 메뉴를 실행하여 배포할 패키지 파일을 생성합니다.

 

187D39424EAE0F152E3FED

 

스텝 6

"Export Project" 창이 나타나면, "앱 키 파일"이 있는 폴더에 적절한 파일명으로 저장합니다.

 

131528414EAE0F4121AC10

 

스텝 7

안드로이드 플러그인이 배포본을 생성하면, 그림과 같이 확인창이 나타납니다. 지정한 저장 폴더에서 생성된 배포본 파일을 확인할 수 있습니다.

 

197E753E4EAE0F982F8F77

 

스텝 8

명령 프롬프트 또는 터미널로 돌아가 다음과 같이 배포본에 앱 키를 적용합니다.


● 앱 키 적용 명령 형식 : jarsigner -verbose -keystore test/test-key.keystore test/Test.apk alias_owl
● 앱 키 적용 명령 사례 : jarsigner -verbose -keystore "앱 키 파일명" "앱 배포 파"일 "키 별명"

 

14104B3D4EAE0FD815F379

 

 

3 앱 업로드와 앱 배포


앱 인증키가 탑재된 배포본을 준비했다면, "안드로이드 마켓"에 배포 파일을 업로드할 수 있습니다.

 

스텝 1

웹브라우저로 "안드로이드 마켓"에 접속하여 로그인하면, 앱을 업로드할 수 있는 화면이 나타납니다. 화면 아래쪽에 있는 "Upload Application" 버튼을 클릭합니다. 그림에서 보는 바와 같이 "Your Registration to the Android Market is approved!"라는 문구가 나타나면, 안드로이드 사이트에서 개발자로 승인이 되었다는 의미이므로 앱을 업로드한 후에 배포 처리까지 할 수 있는 권한이 부여된 것 입니다.

 

161A7C464EAE10331F78FD

 

스텝 2

"Upload an Application" 화면이 나타나면, 안드로이드 앱 배포 파일(XXX.apk)과 홍보용 이미지 파일을 업로드하고, 응용 프로그램에 대한 설명을 입력한 후에 "Save" 버튼을 클릭합니다.

 

15088F404EAE10642B2EC1

 

안드로이드 앱을 업로드하는데 필요한 항목을 살펴보면, 다음과 같습니다.

 

스텝 3

"Upload assets"은 앱 관련 파일을 업로드하는 곳입니다. "Application.apk file" 항목에서 "찾아보기" 버튼을 클릭합니다.

 

1713A4464EAE109A2E1E59

 

스텝 4

그림과 같이 미리 준비한 배포 파일(Test.apk)을 선택하고 "열기" 버튼을 클릭합니다.

 

166A14444EAE10C71DE3A0

 

스텝 5

"Upload" 버튼을 클릭하여 업로드를 실행합니다.

 

190BD0454EAE10F232F8FC

 

스텝 6

업로드를 실행하면 업로드 폼이 유지된 상태에서 "업로드 중" 화면이 나옵니다.

 

161E69414EAE111E1A3597

 

스텝 7

업로드가 완료되면, 그림과 같이 등록된 애플리케이션의 버전이 나오며 업로드된 것을 확인할 수 있습니다.

 

1717E7424EAE114908F6CB

 

스텝 8

"Screenshots" 항목은 마켓에서 응용 프로그램에 대한 홍보 장면으로 게시할 이미지를 업로드하는 항목입니다. 안내문에 나타나는 바와 같이 이미지 파일을 준비할 때는 "24 비트 PNG" 또는 "JPEG"로 해야 하며, 이미지의 크기는 "가로x세로"를 "320w x 480h" 또는 "480w x 854h"로 준비해야 합니다.

 

1319B2414EAE1179265659

 

스텝 9

이미지가 업로드되어 그림과 같이 화면에서 확인할 수 있습니다. 필요에 따라 "Replace this image" 버튼과 "delete" 버튼으로 다시 다른 이미지로 교체할 수 있습니다. 스크린샷 이미지는 화면에서 안내하는 바와 같이, 2개까지 가능하며 "add another" 버튼을 이용하여 이미지를 더 추가할 수 있습니다.

 

16356A3F4EAE11A92BA792

 

스텝 10

"Promotional Graphic" 항목은 응용 프로그램을 소개할 때 사용하는 이미지를 등록하는 곳입니다. "24 비트 PNG" 또는 "JPEG" 이미지의 "가로x세로"를 "180w x 120h" 크기로 준비하여 업로드합니다.

 

2008613E4EAE11DB271F49

 

스텝 11

프로모션 이미지가 업로드되면 그림과 같이 나타납니다.

 

161419434EAE12062E5EE7

 

스텝 12

"Listing details" 항목은 응용 프로그램에 대한 상세 내용을 작성하는 곳입니다.


● Language : 기본값으로 "English (en_US)" 영어가 설정되어 있습니다. "add language" 버튼을 이용하여 언어를 추가할 수 있습니다.
● Title : 등록할 애플리케이션의 제목을 기재합니다. 최대 30 글자로 되어있습니다.
● Description : 등록할 애플리케이션에 대한 설명을 작성합니다. 최대 325 글자입니다.
● Promo Text : Promo(Promotion의 약자)로 홍보용 글을 작성하는 곳입니다. 최대 80 글자입니다.

 

181E69414EAE124421525A

 

● Application Type : 응용 프로그램 유형을 선택합니다.

 

151688414EAE126D33C98D

 

● Category : "Application Type"에 따라 카테고리는 달라지며, 응용 프로그램에 대한 분류를 선택하는 항목입니다.

 

1835C53F4EAE1298367E3F

 

스텝 13

Publishing options : 배포 옵션을 설정합니다.


● Copy Protection : 복사 방지 설정에 대한 여부를 설정합니다.
- "Off"이면, 단말기에서 응용 프로그램 복사를 허용합니다.
- "On"이면, 단말기에서 응용 프로그램을 복사하지 못하도록 합니다. 이 옵션은 응용 프로그램을 설치하는데 필요한 메모리 자원을 좀 더 소모합니다.

 

111886404EAE12D4142EE8

 

● Locations : 배포할 국가를 선택합니다.

 

152C1D434EAE12FA02491C

 

스텝 14

Contact information : 배포할 응용 프로그램에 대한 연락 정보를 입력합니다.


● Website : 배포할 응용 프로그램에 대한 관련 사이트 주소를 입력합니다.
● Email : 배포할 응용 프로그램에 대한 이메일 주소를 입력합니다.
● Phone : 배포할 응용 프로그램에 대한 전화번호를 입력합니다.

 

151572464EAE13323639BC

 

스텝 15

Consent : 배포할 응용 프로그램이 "안드로이드 콘텐트 가이드라인(Android Content Guidelines)"에 부합하는지를 서명하고, 약관에 동의하는지를 체크합니다. 물론, 이 두 사항에 동의하지 않으면 다음 스텝으로 진행할 수 없습니다. "Publish" 버튼을 클릭하여 작성한 내용을 저장합니다.

 

146F05444EAE13771F6A21

 

스텝 16

등록이 완료되면, "All Android Market Listings"에서 업로드한 응용 프로그램을 확인할 수 있습니다. 그림과 같이 등록한 앱이 "Unpublished"라고 나타나면, 아직 공개되지 않은 상태임을 의미합니다. 이 경우 앱을 실제 배포하려면, 목록에서 앱의 제목을 클릭하여, 다시 앱의 수정 화면으로 이동합니다.

 

111A463E4EAE1ACA302040

 

스텝 17

앱 수정 화면에서 다시 "Publish" 버튼을 클릭하여 배포 처리합니다.

 

131471444EAE1B15053A13

 

스텝 18

올바르게 배포되었다면, 목록에서 해당 앱이 "Published"로 표시됩니다. 배포된 앱 목록에서 "Errors" 버튼을 클릭해 봅니다.

 

113397424EAE1B4E0A61AC

 

스텝 19

안드로이드에서는 "Application Error Reports" 화면을 통해 배포에 대한 오류 상태를 보여줍니다.

 

1923BA424EAE1B82207CF2

 

스텝 20

배포된 앱을 배포 중지하려면, 앱목록에서 앱의 제목을 클릭하고, 앱 수정폼으로 이동하여 그림과 같이 "Unpublish" 버튼을 클릭합니다.

 

153BE9414EAE1BC216B205

 

스텝 21

배포 중지가 올바르게 적용되었다면 그림과 같이 앱목록에 "Unpublished"라고 나타나는 것을 확인할 수 있습니다.

 

1125903D4EAE1BF92B573E

 

 

4 배포 실무 및 단말기 실험


이전 과정은 실험을 목적으로 안드로이드 마켓에 앱을 등록하는 방법을 살펴보았으나, 실무에서는 여러 가지 고려해야 할 사항들이 많이 있습니다. 실제 배포된 앱을 실물 단말기에서 다운받아 설치해보는 과정을 수행해야 완전히 배포를 완료했다고 볼 수 있습니다. 본서에서는 Android 2.2(API Level 8) 버전을 기준으로 개발했지만, 실제 배포할 때는 Android 2.1 버전 사용자를 위해 2.1 버전으로 다운그레이드(Downgrade)하기로 합니다. 앱을 개발하다보면 이런 경우가 종종 발생합니다. 다운그레이드 과정은 앱의 특성에 따라 각양각색이겠지만, 다음 과정을 통해 간접 경험을 얻을 수 있을 것입니다.

 

4.1 앱의 버전 변경하기


앱 버전을 변경하기 전에 [Refactor > Rename] 메뉴를 이용하여 프로젝트 명을 "appSiteMarket"으로 변경합니다. 앱의 버전은 현재 2.2이므로 배포 정책에 따라 버전을 다음과 같이 2.1로 바꾸어 줍니다.

 

스텝 1

"Package Explorer" 창에서 "appSiteMarket"를 선택하고, "콘텍스트 메뉴 > Properties" 메뉴를 실행합니다.

 

153BD8464EAE1C83213C82

 

스텝 2

그림과 같이 "Properties for ..." 창을 열고, [Android > Google APIs 2.1]을 체크하고, "OK" 버튼을 클릭합니다.

 

16266D3E4EAE1CB5217409

 

스텝 3

버전을 변경하고 나면, 버전의 차이로 인해 발생하는 오류가 나타납니다. 본 사례의 경우 "src/com.owl.app/cmsHTTP.java" 파일에 오류 표시가 나타납니다.

 

16248E424EAE1CE930730D

 

스텝 4

"src/com.owl.app/cmsHTTP.java" 파일을 열고 "Problems" 창을 열어 오류 원인을 파악해보면, 그림과 같이 "setPluginState()" 메소드에 오류가 있음을 알 수 있습니다.

 

19299F3D4EAE1D262E8939

 

스텝 5

안드로이드 매뉴얼에서 android.webkit.WebSettings.setPluginState() 메소드에 대한 정의를 살펴봅니다. 그림에서 보는 바와 같이 이 메소드는 "API Level 8(2.2 버전)" 이상에서만 지원한다는 것을 알 수 있습니다.

 

163863434EAE1D5F27D5BE

 

스텝 6

버전 차이 때문에 발생한 문제이므로 2.1 버전에서 지원하는 setPluginsEnabled()로 대체하고, 그림과 같이 setPluginState() 메소드는 주석 처리합니다.

 

1424FB424EAE1D8F2AF096

 

 

4.2 AndroidManifest.xml의 API Level 정의

 

스텝 1

앱 배포를 위해서 반드시 "AndroidManifest.xml"에서 "Min SDK Version"과 "Target SDK version"을 정의합니다.
"Manifest > Uses Sdk"를 선택하고, "Min SDK version"과 "Target SDK version" 값으로 각각 2.1 버전의 "API Level"인 "7"을 입력합니다.

 

162B88404EAE1DDE2D3D4E

 

스텝 2

AndroidManifest.xml 파일을 소스에서 확인하면, 다음과 같습니다.

 

11287D3D4EAE1E0C352FD1

 

 

4.3 배포키 발급

 

스텝 1

앞서 "앱 인증키 생성" 과정에서와 같은 방식으로 "appSiteMarket.keystore"라는 앱키 파일을 생성합 니다.


- 앱키 생성 명령 : keytool -genkey -v -keystore "앱키 파일명" -alias "별명-" keyalg "암호화 알고리즘" -validity "유효기간"


사례 : keytool -genkey -v -keystore appSiteMarket.keystore -alia salias_owl -keyalg RSA -validity 10000

 

184130414EAE1E6E13B181

 

스텝 2

생성된 "appSiteMarket.keystore"를 이용하여 다음과 같이 "인증서 지문(MD5 fingerprint)"을 구합

니다.


- 명령어 : keytool -list -alias "별명" -keystore "인증키"


사례 : keytool -list -alias alias_owl -keystore appSiteMarket.key store

 

1809A6444EAE1EA42E5F17

 

스텝 3

배포본(XXX.apk)에 앱 인증키(appSiteMarket.keystore)를 적용합니다. 이 과정을 일명 "앱 인증키 사인"이라고 합니다.


- 명령어 : jarsigner -verbose -keystore [앱 인증키] [배포본] [별명]


사례 : jarsigner -verbose -keystore appSiteMarket.keystore appSeitMarket.apk alias_owl

 

154E0E464EAE1EDA0B7E08

 

 

4.4 단말기 실험

 

스텝 1

앞서 설명한 바와 같이 마켓에 "appSiteMarket.apk" 파일을 업로드하고, 그림과 같이 "Published" 처리합니다.

 

143C1A3D4EAE1F2B15C0AF

 

[주의] 배포 버전 관리
안드로이드 마켓은 소프트웨어에 대한 일반적인 배포 규칙을 따릅니다. 따라서 한번 배포된 파일의 버전에 대한 번복을 허용하지 않습니다. 만일, 배포 후에 예기치 않은 문제가 발견되어 디버깅한 후 재배포하려면, AndroidManifest.xml에서 버전을 올려야 합니다.

 

[주의] 배포 패키지의 고유성
안드로이드 마켓에 배포할 패키지는 고유해야 합니다. 따라서 본서에서는 패키지 명으로 com.owl.app.XXX를 사용하고 있습니다. 만일 이 패키지 명을 이미 마켓에 다른 배포자가 사용 중이라면, 패키지 명을 바꾸어 배포해야 합니다.

 

스텝 2

그림과 같이 실험할 단말기에서 마켓으로 들어가 자신이 배포한 앱을 검색을 하고, 실험할 앱을 선택합니다.

 

123E67434EAE1F942BFBE6

 

스텝 3

선택한 앱에 대한 상세 정보가 나타납니다. 앱을 배포할 때 정의한 앱의 정보가 올바르게 나타나는지를 확인하고, 설치 버튼을 클릭하여 앱을 단말기에 설치합니다.

 

184ED4414EAE1FD20AD437

 

스텝 4

그림과 같이 설치하는 과정에 앱에서 사용 권한에 대한 경고가 나타납니다. 사용 권한에 대한 수락의 의미로 "확인"을 클릭합니다.

 

191D7E444EAE200A0E8EC1

 

스텝 5

설치가 완료되면, 단말기에 앱 아이콘이 나타납니다. 그런데, 본 사례에서는 그림에서 보는 바와 같이 앱 아이콘이 안드로이드 기본 아이콘으로 출력됩니다. 나중에 디버깅할 계획을 잡고, 다음 실험을 위해 앱 아이콘을 클릭하여 앱을 실행합니다.

 

164301434EAE205624558A

 

스텝 6

앱이 실행되면, 각 화면이 의도대로 출력되는지 확인하고 특히, 지도 기능이 있는 앱이라면 지도가 잘 나타나는지 확인해야 합니다.

 

1751FB454EAE20D008A50D

 

[주의] 구글맵 배포키
구글맵 기능을 탑재한 앱의 경우, 그림과 같이 구글맵 키를 "디버그키"에서 "배포키"로 변경해야 합니다. 구글맵 배포키를 발급받는 방식은 본서 28장에서 언급한 바와 같이, 디버그용 구글맵 인증키를 발급받는 방식과 동일하되, 디버그용 앱키(debug.keystore) 대신 배포용 앱키(사례 : appSiteMarket.keystore)를 사용하여 만든 "인증서 지문(MD5)"를 사용해야 합니다.

 

14395F424EAE21101FAA2D

 

 

4.5 디버깅 및 2차 배포


앞 단락에서 발견된 오류를 디버깅하고 앱 버전을 교정한 후 재배포하는 과정을 살펴봅니다.

 

스텝 1

앱 아이콘으로 사용할 이미지를 준비합니다. 본 사례에서는 그림과 같이 "logo.png" 파일을 준비합니다.

 

1636113E4EAE216C2C36CD

 

스텝 2

"Package Explorer" 창에서 "res/drawable" 폴더에 "logo.png" 파일을 "드래그앤드롭(Drag&Drop)"하여 등록합니다

 

125C6A464EAE21A10221C3

 

스텝 3

AndroidManifest.xml 파일을 열고, 버전 코드(versionCode)를 "02"로 올리고, 준비한 앱 아이콘(@drawable/logo)을 등록합니다.

 

124E52414EAE21CF185BB8

 

스텝 4

[프로젝트 선택 > 콘텍스트 메뉴 > Android tools > Export unsigned application...]을 이용하여 "appSiteMarket.apk" 파일을 새로 생성합니다

 

스텝 5

터미널에서 그림과 같이 새로 만든 배포본에 앱키를 적용합니다.

 

1752F2464EAE221018CB17

 

스텝 6

마켓 목록에서 업그레이드할 앱을 선택하고, 그림과 같이 [Upload Upgrade] 버튼을 클릭합니다.

 

185A8D464EAE223E0B7089

 

스텝 7

"Upload an Application" 항목에서 업그레이드할 앱 파일(.apk)을 찾아 다시 업로드합니다.

 

1969503F4EAE226C1F697F

 

스텝 8

업그레이드한 앱이 성공적으로 등록되면 그림과 같이 앱 아이콘 이미지가 원하는 대로 나타나며 VersionCode도 업그레이드된 것을 확인하고, "Publish" 처리합니다.

 

163D9A404EAE229A29AD4D

 

스텝 9

단말기에서 다시 업그레이드한 앱을 검색하면 아래의 왼쪽 그림과 같이 "업데이트가 있습니다."라는 안내문이 나타납니다. 이 앱을 클릭하여 업그레이드합니다.

 

스텝 10

오른쪽 그림과 같이 업그레이드한 앱의 아이콘이 개발자의 의도에 맞게 나타납니다.

 

144E0D434EAE22FE1FA400

 

 

http://www.yes24.com/24/goods/5784630

 

http://book.interpark.com/product/BookDisplay.do?_method=Detail&sc.shopNo=0000400000&dispNo=&sc.prdNo=209027963

 

 
 
조회 수 :
42778
등록일 :
2012.08.19
10:44:12 (*.160.42.233)
엮인글 :
http://webs.co.kr/index.php?document_srl=8203&act=trackback&key=eb7
게시글 주소 :
http://webs.co.kr/index.php?document_srl=8203
List of Articles
번호 제목 글쓴이 날짜 조회 수
65 Package org.linphone.core Description admin 2017-10-22 241
64 Sqlite detail easy tutorial. admin 2017-09-09 548
63 Change package name Linphone Android admin 2017-08-25 656
62 Liblinphone - import Linphone library in Android Studio 2017 admin 2017-08-25 647
61 I am able to build the limphone on mac by follow the steps describe here admin 2017-08-25 635
60 To build liblinphone for Android, you must COMPILATION INSTRUCTIONS admin 2017-08-25 630
59 sipdroid source code admin 2017-08-08 739
58 안드로이드 주소록 전체가져오기 이름만가져오기 사진가져오기 코드 admin 2015-04-13 6525
57 the sipdroid Research Miscellaneous admin 2015-03-26 3151
56 HSS070 English Korean 무료 국제전화 미국 중국 카나다 무료 통화 제공 admin 2014-12-28 4582
55 Softphones admin 2014-09-20 4847
54 /xxxxx/gen already exists but is not a source folder. Convert to a source folder or rename it. admin 2014-09-03 5290
53 CSIPSimple building Rebuilding Detail on Eclips Good All is heare perfect admin 2014-08-15 5227
52 Improving QoE of SIP-based Automated Voice Interaction in Mobile Networks file admin 2014-03-20 6023
51 speex support in android admin 2014-03-19 6239
50 voxmobile Source and how to build admin 2014-02-18 6643
49 PJSIP hung the phone constantly corrected the problem admin 2014-02-09 7086
48 Csipsimple code rebuilding source sip 통신 Call Mechanism admin 2014-02-09 21720
47 Csipsimple code rebuilding source sip 통신 technical interviewer admin 2014-02-09 7001
46 Csipsimple code rebuilding source 주요인터페이스분석 admin 2014-02-09 40626
45 Csipsimple code rebuilding source 다운로드 구성 csipsimple 소스 프로젝트 admin 2014-02-09 8084
44 Android DialogFragment Tutorial admin 2014-02-09 7448
43 Creating a fullscreen DialogFragment with a custom background admin 2014-02-09 9920
42 [Android API] 네트워크 상태 체크하기 admin 2013-12-19 8788
41 [안드로이드] 네트워크 연결 상태 체크 함수. admin 2013-12-19 7987
40 안드로이드 인터넷연결체크 ( 3g/lte/wifi ) 메서드 admin 2013-12-19 14485
39 Android Get Phone Contacts details with Contact Image admin 2013-12-15 7314
38 안드로이드 커스텀 타이틀바 How to add custom title bar to android application admin 2013-10-02 9755
37 How to create a custom title bar admin 2013-07-15 9994
36 Rotary Dialer clip art admin 2013-04-20 17610
35 Java 프로그램 실행화일 만들기 : Launch4j admin 2013-02-21 10717
34 java network programming source code, learning socket programming admin 2012-12-04 10701
33 2X Client Configuration | Android Remote Desktop 안드로이드 PC 리모트 데스크탑 admin 2012-12-02 12515
32 WIFI 3G 인터넷 연결 실시간 체크 소스코드 Broadcast Receiver 사용 (Adnroid) admin 2012-10-31 16994
31 통신사별 와이파이 비밀번호 admin 2012-10-31 14981
30 팁, wifi 패스워드 모음집 password admin 2012-10-21 11081
29 Android User Session Management using Shared Preferences admin 2012-10-16 32865
28 Unicode Tables v4 admin 2012-10-16 23346
27 HTML Codes admin 2012-10-16 10037
26 IBM Scan Codes EBCDIC Codes admin 2012-10-16 12241
25 ASCII Table and Description admin 2012-10-16 11512
24 How to Show Alert Dialog in Android (간단하고 쉬운설명) admin 2012-10-15 22671
23 How to read contacts on Android 2.0 admin 2012-10-14 13678
22 WIFI 3G 인터넷 연결 체크 소스코드 직접 사용한 코드 android admin 2012-10-14 15531
21 Android Detect Internet Connection Status admin 2012-10-12 21098
20 JAVA + SSL (server and client examples) admin 2012-10-07 22575
19 Querying The Android Contact Database admin 2012-09-30 10920
18 Manage Contacts android admin 2012-09-30 12889
17 Android Contacts API 2 example admin 2012-09-30 13996
16 Android 2.0 주소록 동기화 기능 admin 2012-09-30 39288
15 안드로이드용 앱 개발 마켓등록 까지 해본거 샘플 무료국제전화 앱 FreeDialer admin 2012-09-27 14984
14 아이폰 IPhone 앱 개발 기본 admin 2012-09-27 11608
13 [안드로이드/개발] Intent admin 2012-09-23 18125
12 안드로이드 타이머 절적한 설명과 간단한소스코드 등 안드로이드 프로그램 설명 깔끔 admin 2012-09-23 28920
11 google voice source code admin 2012-09-22 10941
10 [안드로이드] 서버/클라이언트 소켓(Socket) 통신하기 admin 2012-09-20 21197
9 FreeDial 무료국제전화는 프리미엄 국제전화 다이렉트 회선사용 admin 2012-09-20 11993
8 Android SQlite 사용 admin 2012-09-04 11865
» 안드로이드마켓에 앱 등록하는 순서 admin 2012-08-19 42778
6 전화관련 안드로이드함수 admin 2012-08-18 15606
5 자바 ,이클립스,Android SDK, ADT 설치하여 무료국제전화 다이얼러를 만들어봅시다. admin 2012-08-06 16118
4 아이폰용 무료국제전화용 무료 다이얼러 Speedydialer 설치및 사용방법 file admin 2012-07-14 11457
3 접속번호 + 상대방번호 # 를 주소록에 전화번호로 저장하여 사용하면 편리하다 admin 2012-06-17 13433
2 App Store - ILD Dialer admin 2012-06-17 10004
1 한국휴대폰에서 미국 중국 카나다 무료 국제전화 서비스 admin 2012-04-27 10358