맨위로가기

안드로이드 소프트웨어 개발

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

안드로이드 소프트웨어 개발은 구글이 주도하는 Open Handset Alliance에 의해 만들어진 안드로이드 운영체제(OS)용 애플리케이션을 개발하는 과정을 의미한다. 개발자들은 안드로이드 SDK를 사용하여 애플리케이션을 만들고, C/C++ 코드는 NDK를 통해 컴파일할 수 있다. 안드로이드 개발에는 공식 개발 도구, 외부 하드웨어 개발, 안드로이드 에뮬레이터 등이 사용된다. 구글은 안드로이드 개발자 챌린지(ADC)를 통해 혁신적인 애플리케이션을 발굴했으며, 커뮤니티 기반 배포판을 통해 사용자 정의 기능을 제공하기도 한다. 안드로이드는 Java 표준을 직접 사용하지 않으며, 초기에는 버그와 문서 부족 등의 문제로 비판받았지만, 2018년에는 85%의 시장 점유율을 기록하며 널리 사용되는 플랫폼으로 성장했다. 2023년 9월 기준, 안드로이드는 전 세계 스마트폰 운영체제 시장의 약 70%를 점유하고 있다.

더 읽어볼만한 페이지

  • 안드로이드 개발 소프트웨어 - 넷빈즈
    넷빈즈는 1996년 자바 IDE 학생 프로젝트로 시작되어 썬 마이크로시스템즈를 거쳐 아파치 소프트웨어 재단에 기증된 오픈 소스 통합 개발 환경(IDE)으로, 다양한 언어를 지원하고 GUI 디자인 도구, 프로파일러 등 기능을 제공하며 자바 VM 운영체제에서 동작한다.
  • 안드로이드 개발 소프트웨어 - Eclipse (소프트웨어)
    이클립스는 IBM에서 개발한 자바 기반의 통합 개발 환경으로, OSGi 서비스 플랫폼을 런타임 아키텍처로 사용하며, 플러그인을 통해 기능을 확장할 수 있고, 이클립스 퍼블릭 라이선스를 따르며, 한국어를 지원한다.
  • 소프트웨어 개발 공동체 - 마이크로소프트 개발자 네트워크
    마이크로소프트 개발자 네트워크(MSDN)는 마이크로소프트가 제공했던 개발자 커뮤니티 사이트 및 유료 구독 서비스였으며, 웹사이트, 라이브러리, 포럼 등을 제공하고 API 문서, 샘플 코드, 기술 자료를 제공했으나, 2020년과 2022년에 일부 서비스가 종료되었다.
  • 소프트웨어 개발 공동체 - 스택 익스체인지
    스택 익스체인지는 제프 앳우드와 조엘 스폴스키가 시작한 질의응답 웹사이트 네트워크로, 스택 오버플로우를 기반으로 다양한 분야의 특화된 Q&A 사이트를 제공하며 사용자 참여를 통해 운영되지만, 2016년 이후 여러 논란으로 사용자 관계가 악화되기도 했다.
  • 자유 모바일 소프트웨어 - 안드로이드 (운영체제)
    구글이 개발한 리눅스 커널 기반의 모바일 운영체제인 안드로이드는 오픈소스 플랫폼으로 다양한 기기에서 활용되며 세계적으로 널리 사용되지만, 개인정보 보호 문제와 독점적 지위 남용 논란 등의 비판도 존재한다.
  • 자유 모바일 소프트웨어 - 파이어폭스 OS
    모질라 재단에서 개발한 파이어폭스 OS는 웹 기술을 기반으로 애플리케이션을 구동하는 오픈 소스 모바일 운영 체제였으나, 스마트폰 시장 진출 후 개발이 종료되었고, 이후 스마트 TV 등으로 확장을 시도했으나 프로젝트는 단종되었다.
안드로이드 소프트웨어 개발
개요
종류소프트웨어 개발
주제안드로이드 장치를 위한 응용 프로그램 제작 과정
관련 항목소프트웨어 개발 키트
자바 (프로그래밍 언어)
코틀린 (프로그래밍 언어)
C++
안드로이드 소프트웨어 개발 키트
안드로이드 스튜디오
에뮬레이터
디버깅
프로파일링
소프트웨어 배포
상세 내용
설명안드로이드 운영 체제용 소프트웨어 작성 프로세스
프로그래밍 언어자바
코틀린
C++ (JNI 사용)
개발 도구안드로이드 스튜디오
Android SDK
Android NDK
플랫폼안드로이드
API 수준1 (안드로이드 1.0) ~ 34 (안드로이드 14)
배포구글 플레이 스토어를 통해 배포하거나, APK 파일을 직접 설치
라이선스아파치 라이선스 2.0 (안드로이드 운영 체제 자체), 오픈 소스 및 독점 라이선스 (애플리케이션 개발)
디버깅안드로이드 디버그 브리지 (ADB) 및 안드로이드 스튜디오 디버거 사용

2. 공식 개발 도구

안드로이드 소프트웨어 개발 키트(SDK)는 포괄적인 개발 도구 집합을 포함하고 있다.[4] 여기에는 안드로이드 디버그 브리지(ADB)와 Fastboot를 포함한 안드로이드 SDK 플랫폼 도구와 안드로이드 네이티브 개발 키트(NDK) 등이 있다. C/C++로 작성된 코드는 NDK를 사용하여 ARM 아키텍처 또는 x86 네이티브 코드 (또는 64비트 변형)로 컴파일될 수 있다.

2. 1. Android SDK

안드로이드 소프트웨어 개발 키트(SDK)는 포괄적인 개발 도구 집합을 포함하고 있다. 안드로이드 SDK 플랫폼 도구는 전체 SDK에서 별도로 다운로드 가능한 하위 집합으로, `adb` 및 `fastboot`와 같은 명령줄 도구로 구성된다.[4] 안드로이드 디버그 브리지(ADB)는 연결된 안드로이드 기기에서 명령을 실행하는 도구이며, Fastboot는 파일 시스템을 플래싱하는 데 사용되는 통신 프로토콜이다.

2. 2. Android NDK

C/C++로 작성된 코드는 안드로이드 NDK를 사용하여 ARM 아키텍처 또는 x86 네이티브 코드 (또는 64비트 변형)로 컴파일될 수 있다.

2. 3. Android Open Accessory Development Kit

안드로이드 3.1 플랫폼(안드로이드 2.3.4에도 백포트됨)은 외부 USB 하드웨어(안드로이드 USB 액세서리)가 특수한 "액세서리" 모드에서 안드로이드 기반 기기와 상호 작용할 수 있도록 하는 안드로이드 오픈 액세서리 지원을 도입하였다.[1] 안드로이드 기반 기기가 액세서리 모드에 있을 때, 연결된 액세서리는 USB 호스트 역할을 하며(버스에 전원을 공급하고 장치를 열거) 안드로이드 기반 기기는 USB 장치 역할을 한다.[1] 안드로이드 USB 액세서리는 안드로이드 기반 기기에 연결되도록 특별히 설계되었으며, 액세서리 모드를 지원하는 안드로이드 기반 기기를 감지할 수 있는 간단한 프로토콜(안드로이드 액세서리 프로토콜)을 준수한다.[1]

3. 외부 하드웨어 개발

IOIO, 안드로이드 오픈 액세서리 개발 키트, Microbridge, 트리거트랩은 안드로이드 기기가 외부 전자 장치와 상호 작용하는 데 도움을 주는 개발 도구이다.

4. 안드로이드 에뮬레이터

안드로이드 에뮬레이터는 안드로이드 앱 개발 시 실제 기기 없이 PC 환경에서 앱을 테스트하고 디버깅할 수 있도록 돕는 가상 환경이다. 다음과 같은 종류가 있다.

5. 안드로이드 개발자 챌린지

안드로이드 개발자 챌린지(Android Developer Challenge, ADC)는 구글안드로이드를 위한 혁신적인 애플리케이션을 찾기 위해 개최한 공모전이다. 구글은 ADC I과 ADC II에 걸쳐 총 1000만달러의 상금을 제공했다.[6][7]

ADC I은 2008년 1월 2일부터 4월 14일까지 출품작을 접수받았다. 5월 12일에는 50개의 유망한 출품작이 발표되어 각각 개발 지원금 2.5만달러를 받았다. 9월 초에는 10개 팀이 27.5만달러, 다른 10개 팀이 10만달러를 받으며 공모전이 종료되었다.[8]

ADC II는 2009년 5월 27일에 발표되었다.[9] 10월 6일에 1차 라운드가 마감되었고,[10] 11월 5일에는 상위 200개의 애플리케이션이 1차 라운드 우승작으로 발표되었다. 같은 날 2차 라운드 투표가 시작되어 11월 25일에 종료되었다. 11월 30일, 구글은 SweetDreams, What the Doodle!?, WaveSecure를 최종 우승자로 발표했다.[11][12]

5. 1. ADC I (2008)

안드로이드 개발자 챌린지(Android Developer Challenge, ADC)는 안드로이드를 위한 가장 혁신적인 애플리케이션을 찾기 위한 공모전이었다. 구글은 ADC I과 ADC II에 걸쳐 총 1000만달러의 상금을 제공했다.[6][7] ADC I은 2008년 1월 2일부터 4월 14일까지 출품작을 접수했다. 2008년 5월 12일에 발표된 50개의 가장 유망한 출품작은 각각 개발을 더 진행할 수 있도록 2.5만달러의 상금을 받았다.[6][7] 이 공모전은 9월 초에 종료되었으며, 27.5만달러를 받은 10개 팀과 10만달러를 받은 10개 팀이 발표되었다.[8]

5. 2. ADC II (2009)

ADC II는 2009년 5월 27일에 발표되었다.[9] 1차 라운드는 2009년 10월 6일에 마감되었다.[10] 상위 200개의 애플리케이션이 1차 라운드 우승자로 선정되어 11월 5일에 발표되었다. 같은 날 2차 라운드 투표가 시작되어 11월 25일에 종료되었다. 구글은 11월 30일에 ADC II의 최종 우승자를 발표했으며, SweetDreams, What the Doodle!?, WaveSecure가 최종 우승자로 선정되었다.[11][12]

6. 커뮤니티 기반 배포판

안드로이드 기반 배포판(펌웨어)을 구축하고 공유하는 오픈 소스 애호가 커뮤니티가 있다. 이들은 FLAC 무손실 오디오 지원, 다운로드한 애플리케이션을 microSD 카드에 저장하는 기능 등 다양한 사용자 정의 및 추가 기능을 제공한다.[13]

일반적으로 장치 루팅이 포함된다. 루팅을 통해 사용자는 운영 체제에 대한 루트 액세스 권한을 얻어 휴대폰을 완전히 제어할 수 있다. 그러나 루팅에는 해킹 위험 증가, 벽돌화 가능성, 보증 손실, 바이러스 공격 위험 증가 등 여러 가지 단점도 있다.[14] 맞춤형 펌웨어를 설치하면 구형 휴대폰 사용자가 최신 릴리스에서만 사용할 수 있는 애플리케이션을 사용할 수 있게 된다.[15]

CyanogenMod와 OMFGB는 이러한 펌웨어의 예시이다.

6. 1. 구글의 중지 및 포기 서한 (2009)

2009년 9월 24일, 구글은 커스텀 롬 개발자 Cyanogen에게 중지 및 포기 서한을 보냈다.[16] 이는 맞춤형 펌웨어(커스텀 롬)에서 구글 플레이 및 GPS 내비게이션 등 구글의 비공개 소스 애플리케이션[17]을 재배포한 것이 문제가 되었기 때문이다. 안드로이드 OS 자체는 대부분 오픈 소스이지만, 실제 휴대폰에는 이러한 비공개 구글 애플리케이션이 포함되어 판매된다. 구글은 해당 애플리케이션들이 라이선스를 보유한 배포자의 승인된 채널을 통해서만 제공되어야 한다고 주장했다. Cyanogen은 구글의 라이선스를 준수하여 독점 소프트웨어 없이 모드를 계속 배포하는 한편, 설치 과정에서 라이선스가 필요한 구글 애플리케이션을 백업하고 복원하는 방법을 제공했다.[18]

7. Java 표준

안드로이드는 정립된 Java 표준, 즉 Java SE 및 ME를 사용하지 않는다. 이는 해당 플랫폼용으로 작성된 Java 애플리케이션과 안드로이드 플랫폼용으로 작성된 애플리케이션 간의 호환성을 방해한다. 안드로이드는 Java 언어 구문과 의미를 재사용하지만 Java SE 또는 ME에 번들로 제공되는 전체 클래스 라이브러리와 API를 제공하지 않는다.[19] 그러나 Myriad Group 및 UpOnTek과 같은 회사에서 Java ME를 안드로이드로 변환하는 서비스를 제공하는 여러 도구가 시장에 나와 있다.[20][21][22]

안드로이드는 자체 GUI 클래스를 제공하며 Java AWT, Swing 또는 JavaFX는 제공하지 않는다. 또한 전체 Java Beans API를 지원하지 않는다.

8. 역사 및 시장 점유율



구글이 주도하는 Open Handset Alliance(OHA)에 의해 만들어진 안드로이드는 2013년 7월 기준으로 100만 개 이상의 애플리케이션이 개발되었으며,[31] 다운로드 횟수는 250억 회를 넘었다.[32][33] 2011년 6월 연구에 따르면, 모바일 개발자의 67% 이상이 안드로이드 플랫폼을 사용했다.[34] 2018년에 안드로이드 스마트폰 출하량은 12억 대를 넘어 시장 점유율 85%를 기록할 것으로 예상된다.[35]

8. 1. 초기 반응 (2007-2008)

안드로이드 플랫폼용 애플리케이션 개발에 대한 초기 반응은 엇갈렸다.[23] 버그, 문서 부족, 부적절한 QA 인프라, 공개적인 문제 추적 시스템 부재 등이 문제점으로 지적되었다. (구글은 2008년 1월 18일에 문제 추적기를 발표했다.)[24] 2007년 12월, MergeLab 모바일 스타트업 설립자 아담 맥베스는 "기능이 없고, 문서화도 제대로 안 되어 있고, 작동하지 않는다... 확실히 주류로 자리 잡을 준비가 안 되어 있다"고 평가했다.[25] 그럼에도 불구하고, 안드로이드를 겨냥한 애플리케이션은 플랫폼 발표 후 일주일 만에 나타나기 시작했다. 최초로 공개된 애플리케이션은 스네이크 게임이었다.[26]

2008년 7월 15일, 안드로이드 개발자 챌린지 팀은 실수로 안드로이드 개발자 챌린지 참가자들에게 "비공개" 다운로드 영역에서 SDK의 새로운 릴리스를 사용할 수 있다고 알리는 이메일을 보냈다. 이 이메일은 안드로이드 개발자 챌린지 1라운드 우승자들을 위한 것이었다. 구글이 일부 개발자들에게 새로운 SDK 릴리스를 제공하고 다른 개발자들에게는 제공하지 않았다는 사실 (그리고 이러한 방식을 비공개로 유지)이 알려지면서, 당시 안드로이드 개발자 커뮤니티 내에서 광범위한 좌절감이 보고되었다.[27]

8. 2. SDK 출시

오픈 핸드셋 얼라이언스(OHA)에서 2007년 11월 12일에 안드로이드 SDK 미리 보기 버전을 출시했다.[23] 2008년 8월 18일에는 안드로이드 0.9 SDK 베타 버전을 출시했는데, 업데이트 및 확장된 API, 개선된 개발 도구, 업데이트된 디자인을 제공했다.[28] 2008년 9월 23일에는 안드로이드 1.0 SDK (릴리스 1)가 출시되었으며, 주로 버그를 수정하고 몇 가지 작은 기능을 추가했다.[29]

8. 3. 안드로이드 개발자 폰 (2008)

2008년 12월 5일, 구글은 HTC 드림의 수정 버전이자 고급 개발자를 위해 설계된 최초의 안드로이드 개발자 폰을 발표했다. 이 폰은 SIM 잠금 및 하드웨어 잠금이 해제된 장치였다.[30] 개발자는 일반 소비자용 기기를 사용하여 애플리케이션을 테스트하고 사용할 수 있지만, 일부 개발자는 전용 잠금 해제 또는 무약정 기기를 선택할 수 있다.

8. 4. 시장 점유율 성장

기준으로 안드로이드를 위해 100만 개 이상의 애플리케이션이 개발되었으며,[31] 앱 다운로드 횟수는 250억 회를 넘었다.[32][33] 2011년 6월 연구에 따르면, 모바일 개발자의 67% 이상이 안드로이드 플랫폼을 사용했다.[34] 2018년에 안드로이드 스마트폰 출하량은 12억 대를 넘어 시장 점유율 85%를 기록할 것으로 예상되었다.[35]

참조

[1] 웹사이트 The Android Source Code https://source.andro[...] 2017-02-02
[2] 뉴스 Editorial: Why You Should Go Nexus http://droidlessons.[...] Droid Lessons 2023-09-24
[3] 웹사이트 Application Fundamentals https://developer.an[...]
[4] 간행물 A Script-Based Approach for Teaching and Assessing Android Application Development https://doi.org/10.1[...] 2021-03
[5] 웹사이트 Android Developers guides https://developer.an[...] Developer.android.com 2021-04-17
[6] 웹사이트 The Top 50 Applications http://android-devel[...] 2008-05-12
[7] 뉴스 Android Developer Challenge announces first-round winners http://www.linuxdevi[...] 2008-05-13
[8] 웹사이트 ADC I Top 50 Gallery https://code.google.[...] 2009-05-19
[9] 웹사이트 Android Developer Challenge https://code.google.[...] 2008-01-11
[10] 웹사이트 ADC 2 Round 1 Scoring Complete http://android-devel[...] 2009-10-06
[11] 웹사이트 ADC 2 Overall Winners https://code.google.[...] 2010-12-05
[12] 웹사이트 Android Developer Challenge 2 Winners Announced http://www.businessw[...] 2009-11-30
[13] 웹사이트 Dream android development http://forum.xda-dev[...] 2009-09-11
[14] 웹사이트 Rooting: Advantages and Disadvantages http://unbrick.itcse[...] 2013-09-21
[15] 웹사이트 Android 2.1 from Motorola Droid Ported to G1 http://voltmobileand[...] 2010-03-10
[16] 웹사이트 CyanogenMod in trouble? http://androidandme.[...] 2009-09-24
[17] 웹사이트 A Note on Google Apps for Android http://android-devel[...] 2009-09-25
[18] 웹사이트 The current state... http://www.cyanogenm[...] 2009-09-27
[19] 웹사이트 Google Android: Initial Impressions and Criticism http://www.javalobby[...] 2007-11-13
[20] 웹사이트 Myriad's New J2Android Converter Fuels Android Applications Gold Rush http://www.myriadgro[...] 2010-03-19
[21] 웹사이트 J2Android hopes you don't know that Android is Java-based https://www.infoworl[...] 2010-03-23
[22] 웹사이트 Myriad CTO: J2Android moves MIDlets to "beautiful" Android framework https://www.infoworl[...] 2010-03-31
[23] 웹사이트 Developing apps for Google Android: it's a mixed bag https://arstechnica.[...] 2007-12-19
[24] 웹사이트 You can't rush perfection, but now you can file bugs against it http://android-devel[...] 2008-01-18
[25] 웹사이트 Glitches Bug Google's Android Software https://www.wsj.com/[...] 2007-12-19
[26] 웹사이트 First Android Application — Snake http://www.mobiles2d[...] 2007-11-14
[27] 웹사이트 Google plays Hide and Seek with Android SDK https://www.theregis[...] 2008-07-14
[28] 웹사이트 Android — An Open Handset Alliance Project: Upgrading the SDK https://code.google.[...]
[29] 웹사이트 Other SDK Releases http://developer.and[...]
[30] 웹사이트 SDK Archives https://developer.an[...]
[31] 웹사이트 Google Play Hits 1 Million Apps http://mashable.com/[...] 2013-07-24
[32] 웹사이트 Android App Stats http://www.androlib.[...] 2010-12-31
[33] 웹사이트 Google: 3 Billion Android Apps Installed; Downloads Up 50 Percent From Last Quarter https://techcrunch.c[...] 2011-04-14
[34] 웹사이트 Developer Economics 2011 http://www.visionmob[...]
[35] 웹사이트 Worldwide Smartphone Volumes Will Remain Down in 2018 Before Returning to Growth in 2019 and Beyond, According to IDC https://www.idc.com/[...] 2018-05-30
[36] 웹인용 The Android Source Code https://source.andro[...] source.android.com 2017-02-02



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com