안드로이드 소프트웨어 개발
Android software development
Android 소프트웨어 개발은 Android 운영 체제를 실행하는 장치용 응용 프로그램을 만드는 과정입니다.구글은 안드로이드 소프트웨어 개발 키트(SDK)를 이용해 '안드로이드 앱은 코틀린, 자바, C++ 언어로 작성할 수 있다'고 밝히고[3] 있으며 다른 언어도 가능하다.Go, JavaScript, C, C++ 또는 어셈블리와 같은 모든 비 Java 가상 머신(JVM) 언어에는 JVM 언어 코드의 도움이 필요합니다.JVM 언어 코드는 도구에 의해 제공될 수 있으며 API 지원이 제한될 수 있습니다.일부 프로그래밍 언어와 툴은 크로스 플랫폼 앱을 지원합니다(즉, Android와 iOS 모두 지원).서드파티제의 툴, 개발 환경, 언어 지원도 2008년 첫 SDK가 출시된 이후 계속 진화하고 확장되고 있습니다.최종 사용자에게 Android 앱을 배포하는 공식 메커니즘은 Google Play입니다. 또한 출시 전 앱 버전을 테스터에게 배포할 수 있을 뿐만 아니라 단계적으로 앱을 출시할 수 있습니다.
공식 개발 도구
Android SDK(소프트웨어 개발 키트)에는 포괄적인 개발 도구 세트가 포함되어 있습니다.Android SDK Platform Tools는 전체 SDK의 개별 다운로드 가능한 서브셋으로 다음과 같은 명령줄 도구로 구성됩니다.adb
그리고.fastboot
ADB(Android Debug Bridge)는 연결된 Android 장치에서 명령을 실행하기 위한 도구입니다.[4]Fastboot은 파일 시스템 플래시에 사용되는 프로토콜입니다.C/C++로 작성된 코드는 Android Native Development Kit(NDK)를 사용하여 ARM 또는 x86 네이티브 코드(또는 64비트 버전)로 컴파일할 수 있습니다.
Android 오픈 액세서리 개발 키트
Android 3.1 플랫폼(Android 2.3.4에도 역포함)은 외장 USB 하드웨어(Android USB 액세서리)가 특별한 "액세서리" 모드에서 Android 전원 장치와 상호 작용할 수 있도록 Android Open Accessory 지원을 제공합니다.Android 전원 장치가 액세서리 모드일 경우 연결된 액세서리가 USB 호스트(버스에 전원을 공급하고 장치를 열거)로 작동하며 Android 전원 장치가 USB 장치 역할을 합니다.Android USB 액세서리는 Android 기반 장치에 연결되도록 특별히 설계되었으며, 액세서리 [5]모드를 지원하는 Android 기반 장치를 감지할 수 있는 간단한 프로토콜(Android 액세서리 프로토콜)을 준수합니다.
외부 하드웨어 개발
Android 장치가 외부 전자 장치와 상호 작용할 수 있도록 돕기 위한 개발 도구로는 IOIO, Android Open Accessory Development Kit, Microbridge, Triggertrap 등이 있습니다.
Android 개발자 챌린지
Android Developer Challenge는 Android를 위한 가장 혁신적인 애플리케이션을 찾기 위한 경쟁이었다.Google은 ADC I과 ADC II 사이에 총 1000만 달러의 상금을 내걸었습니다.ADC I은 2008년 1월 2일부터 4월 14일까지 제출을 접수했습니다.2008년 5월 12일에 발표된 가장 유망한 50개 출품작에는 각각 25,000달러의 상금이 수여되었습니다.[6][7]9월 초에 27만 5천 달러를 받은 10개 팀과 10만 달러를 [8]받은 10개 팀이 발표되면서 막을 내렸다.
ADC II는 2009년 [9]5월 27일에 발표되었습니다.ADC II의 제1라운드는 2009년 [10]10월 6일에 종료되었습니다.상위 200개의 어플리케이션으로 구성된 ADC II의 1차 당첨자는 2009년 11월 5일에 발표되었습니다.2차 투표도 이날 시작돼 25일 종료됐다.구글은 11월 30일 ADC II의 최고 수상자를 SweetDreams, What the Doodle!로 발표했다.WaveSecure가 전체 [11][12]우승자로 선정되었습니다.
커뮤니티 기반 배포
Android 기반의 디스트리뷰션(펌웨어 등)을 구축하고 공유하는 오픈 소스 애호가 커뮤니티가 있습니다.이 커뮤니티에는 FLAC 무손실 오디오 지원 및 다운로드된 애플리케이션을 마이크로SD [13]카드에 저장할 수 있는 기능 등 다양한 커스터마이즈 및 추가 기능이 있습니다.여기에는 보통 디바이스 루팅이 포함됩니다.루팅을 통해 사용자는 운영체제에 루트접근을 할 수 있어 전화기를 완전히 제어할 수 있습니다.루팅에는 해킹 위험 증가, 브레이킹 위험 증가, 보증 상실, 바이러스 공격 위험 증가 [14]등 몇 가지 단점도 있습니다.커스텀 펌 웨어를 인스톨 할 수도 있습니다만, 디바이스의 부트로더도 언록 할 필요가 있습니다.커스텀 펌 웨어를 사용하면, 낡은 전화기의 유저는, 새로운 [15]릴리스에서만 사용할 수 있는 애플리케이션을 사용할 수 있습니다.
이러한 펌웨어 패키지는 자주 업데이트되며 통신사가 승인한 펌웨어 내에서 아직 공식적으로 출시되지 않은 Android 기능의 요소를 포함하고 있으며 제한이 적은 경향이 있습니다.이러한 펌웨어의 예는 Cyanogen Mod와 OMFGB입니다.
2009년 9월 24일, 구글은 커스텀 펌웨어 내에서 구글의 폐쇄 소스 애플리케이션의[17] 재분배 문제를 언급하며 수정자 Cyanogen에게 중지 및 폐지[16] 서한을 발행했습니다.대부분의 안드로이드 OS가 오픈 소스임에도 불구하고, 휴대폰은 구글 플레이와 GPS 내비게이션과 같은 기능을 위해 클로즈드 소스 구글 어플리케이션과 패키지로 제공됩니다.Google은 이러한 어플리케이션은 허가된 디스트리뷰터가 승인한 디스트리뷰터 채널을 통해서만 제공할 수 있다고 주장했습니다.시아노겐은 구글의 라이선스를 따랐고 독점 소프트웨어 없이 계속 그 모드를 배포했다.Mod 설치 프로세스 중에 라이센스가 부여된 Google 애플리케이션을 백업하고 프로세스가 완료되면 [18]복원할 수 있는 방법을 제공했습니다.
자바 표준
개발의 장애물은 Android가 확립된 Java 표준(Java SE와 ME)을 사용하지 않기 때문에 이러한 플랫폼용으로 작성된 Java 어플리케이션과 Android 플랫폼용으로 작성된 Java 어플리케이션 간의 호환성을 저해하는 것입니다.Android는 Java 언어 구문과 시멘틱스를 재사용하지만 Java SE나 [19]ME에 번들된 풀 클래스 라이브러리와 API를 제공하지는 않지만, Miriard Group이나 UpOnTek 등의 기업에서 Java ME에서 Android 변환 [20][21][22]서비스를 제공하는 여러 툴이 시장에 있습니다.
Android는 자체 GUI 클래스를 제공하며 Java AWT, Swing 또는 JavaFX는 제공하지 않습니다.완전한 Java Beans [citation needed]API를 지원하지 않습니다.
안드로이드는 구글이 이끄는 오픈 핸드셋 얼라이언스에 의해 만들어졌다.안드로이드 플랫폼용 애플리케이션 개발에 대한 초기 피드백은 [23]엇갈렸다.버그, 문서의 부족, QA 인프라스트럭처의 불충분, 공공 문제 추적 시스템의 미비 등이 지적되고 있습니다.(Google은 2008년 1월 18일에 문제 추적기를 발표했습니다.)[24]2007년 12월 MergeLab 모바일 스타트업 창업자 Adam MacBeth는 다음과 같이 말했습니다.「기능이 없거나, 문서화되어 있지 않거나, 기능하지 않습니다.아직 [25]황금시간대 준비가 안 된 게 분명해요."그럼에도 불구하고 안드로이드용 애플리케이션은 플랫폼 발표 다음 주부터 등장하기 시작했다.처음으로 공개된 애플리케이션은 스네이크 [26][27]게임이었다.
Android SDK의 프리뷰 릴리스는 2007년 11월 12일에 공개되었습니다.2008년 7월 15일 Android Developer Challenge 팀은 실수로 Android Developer Challenge의 모든 참가자들에게 SDK의 새로운 릴리스가 "개인" 다운로드 영역에서 제공된다는 이메일을 보냈습니다.이 이메일은 Android Developer Challenge 1라운드 우승자를 대상으로 작성되었습니다.구글이 새로운 SDK 릴리스를 다른 개발자가 아닌 일부 개발자에게 제공하고 있다는 사실이 알려지면서(그리고 이 계약을 비공개로 유지) [28]당시 안드로이드 개발자 커뮤니티 내에서 널리 보고되었다.
2008년 8월 18일 Android 0.9 SDK 베타가 출시되었습니다.이 릴리스는 홈 스크린용 API 및 확장 API, 개선된 개발 도구 및 업데이트된 디자인을 제공했습니다.업그레이드에 대한 자세한 절차는 이전 릴리스에서 [29]이미 작업 중인 사용자에게 제공됩니다.2008년 9월 23일 Android 1.0 SDK(릴리스 1)가 출시되었습니다.[30]릴리스 노트에 따르면 "주로 버그 수정이 포함되었지만 일부 작은 기능이 추가되었습니다."또한 0.9 버전에서 API를 몇 가지 변경했습니다.개발 [31]이후 여러 버전이 출시되었습니다.
2008년 12월 5일, 구글은 고급 개발자들을 위해 설계된 SIM 잠금 해제 및 하드웨어 잠금 해제 장치인 첫 번째 Android Dev Phone을 발표했습니다.그것은 HTC의 Dream 폰을 변형한 것이었다.개발자는 일반 소비자 기기를 사용하여 응용 프로그램을 테스트하고 사용할 수 있지만 일부 개발자는 전용 잠금 해제 또는 무계약 장치를 선택할 수 있습니다.
2013년 7월[update] 현재 100만 개 이상의 애플리케이션이 [32]Android용으로 개발되었으며 250억 [33][34]개 이상의 다운로드가 이루어지고 있습니다.2011년 6월 조사에 따르면 모바일 개발자의 67% 이상이 [35]이 플랫폼을 사용했다고 합니다.안드로이드 스마트폰 출하량은 2018년 시장점유율 [36]85%로 12억대를 넘어설 것으로 전망됐다.
「 」를 참조해 주세요.
레퍼런스
- ^ a b "The Android Source Code". Source.Android.com. Retrieved February 2, 2017.
- ^ Syed H (September 24, 2012). "Editorial: Why You Should Go Nexus". Droid Lessons. Archived from the original on February 18, 2017. Retrieved April 17, 2013.
- ^ "Application Fundamentals". Android Developers.
- ^ Modesti, Paolo (March 2021). "A Script-Based Approach for Teaching and Assessing Android Application Development". ACM Transactions on Computing Education. 21 (1): 1–24. doi:10.1145/3427593. Retrieved May 8, 2022.
- ^ "Android Developers guides". Developer.android.com. Retrieved April 17, 2021.
- ^ Chen, Jason (May 12, 2008). "The Top 50 Applications". Android Developers Blog. Archived from the original on September 25, 2009. Retrieved September 4, 2009.
- ^ Brown, Eric (May 13, 2008). "Android Developer Challenge announces first-round winners". Linux for Devices. Archived from the original on May 14, 2008.
- ^ "ADC I Top 50 Gallery". Android Developer Challenge. Retrieved May 19, 2009.
- ^ "Android Developer Challenge". Google Code. Retrieved January 11, 2008.
- ^ Chu, Eric (October 6, 2009). "ADC 2 Round 1 Scoring Complete". Android Developers Blog. Archived from the original on November 1, 2009. Retrieved November 3, 2009.
- ^ "ADC 2 Overall Winners". Android Developer Challenge. Archived from the original on January 4, 2011. Retrieved December 5, 2010.
- ^ Kharif, Olga (November 30, 2009). "Android Developer Challenge 2 Winners Announced". BusinessWeek. Retrieved December 5, 2010.
- ^ "Dream android development". xda-developers forum. Retrieved September 11, 2009.
- ^ "Rooting: Advantages and Disadvantages". ITCSE forum. Archived from the original on November 29, 2014. Retrieved September 21, 2013.
- ^ "Android 2.1 from Motorola Droid Ported to G1". Volt Mobile. March 10, 2010. Archived from the original on May 31, 2011. Retrieved May 13, 2011.
- ^ Wimberly, Taylor (September 24, 2009). "CyanogenMod in trouble?". Android and me. Archived from the original on October 3, 2009. Retrieved September 26, 2009.
- ^ Morrill, Dan (September 25, 2009). "A Note on Google Apps for Android". Android Developers Blog. Archived from the original on October 25, 2009. Retrieved September 26, 2009.
- ^ "The current state..." CyanogenMod Android ROM. September 27, 2009. Archived from the original on November 3, 2009. Retrieved September 27, 2009.
- ^ van Gurp, Jilles (November 13, 2007). "Google Android: Initial Impressions and Criticism". Javalobby. Archived from the original on August 28, 2008. Retrieved March 7, 2009.
Frankly, I don't understand why Google intends to ignore the vast amount of existing implementation out there. It seems like a bad case of "not invented here" to me. Ultimately, this will slow adoption. There are already too many Java platforms for the mobile world and this is yet another one
- ^ "Myriad's New J2Android Converter Fuels Android Applications Gold Rush". March 19, 2010. Archived from the original on July 4, 2011. Retrieved May 13, 2011.
- ^ Fruhlinger, Josh (March 23, 2010). "J2Android hopes you don't know that Android is Java-based". JavaWorld. Retrieved 2020-07-13.
On the other hand, you might think this is kind of a scam aimed at developers who don't really understand the nature of the platform they're targeting. My biggest complaint is that you'd think that Mikael Ricknäs, the IDG News Service reporter who wrote the first story linked to above (who toils for the same company that publishes JavaWorld), would have at least mentioned the relationship between Java and Android to make the oddness of this announcement clear.
- ^ Fruhlinger, Josh (March 31, 2010). "Myriad CTO: J2Android moves MIDlets to "beautiful" Android framework". JavaWorld. Retrieved 2020-07-13.
We will have to wait and see exactly how much pickup J2Android actually sees. The tool isn't actually available on the open market just yet; while Schillings spoke optimistically about "converting 1,000 MIDlets in an afternoon," at the moment they're working with a few providers to transform their back catalogs. So those of you out there hoping to avoid learning how to write Android code may have to wait a while.
- ^ Paul, Ryan (December 19, 2007). "Developing apps for Google Android: it's a mixed bag". Ars Technica. Archived from the original on December 20, 2007. Retrieved December 19, 2007.
- ^ Morrill, Dan (January 18, 2008). "You can't rush perfection, but now you can file bugs against it". Android Developers Blog. Retrieved September 3, 2009.
- ^ Morrison, Scott (December 19, 2007). "Glitches Bug Google's Android Software". The Wall Street Journal. Retrieved December 19, 2007.
- ^ "Snake". Android Freeware. Retrieved October 14, 2021.
- ^ "First Android Application — Snake". Mobiles2day. November 14, 2007. Archived from the original on May 11, 2008. Retrieved January 7, 2008.
- ^ Metz, Cade (July 14, 2008). "Google plays Hide and Seek with Android SDK". The Register. Archived from the original on October 6, 2008. Retrieved October 23, 2008.
- ^ "Android — An Open Handset Alliance Project: Upgrading the SDK". Archived from the original on September 13, 2008. Retrieved October 24, 2008.
- ^ "Other SDK Releases". Android Developers. Retrieved September 2, 2009.
- ^ "SDK Archives". Android Developers.
- ^ "Google Play Hits 1 Million Apps". Mashable. July 24, 2013.
- ^ "Android App Stats". Archived from the original on January 2, 2011. Retrieved December 31, 2010.
- ^ Leena Rao (April 14, 2011). "Google: 3 Billion Android Apps Installed; Downloads Up 50 Percent From Last Quarter". Techcrunch. Archived from the original on April 25, 2011. Retrieved May 13, 2011.
- ^ "Developer Economics 2011". Archived from the original on September 29, 2013. Retrieved July 8, 2011.
- ^ "Worldwide Smartphone Volumes Will Remain Down in 2018 Before Returning to Growth in 2019 and Beyond, According to IDC". idc.com. May 30, 2018. Archived from the original on October 17, 2019. Retrieved June 6, 2018.
참고 문헌
- Ed, Burnette (July 13, 2010). Hello, Android: Introducing Google's Mobile Development Platform (3rd ed.). Pragmatic Bookshelf. ISBN 978-1-934356-56-2.
- Ableson, Frank; Sen, Robi; King, Chris (January 2011). Android in Action, Second Edition (2nd ed.). Manning. ISBN 978-1-935182-72-6.
- Conder, Shane; Darcey, Lauren (July 24, 2012). Android Wireless Application Development Volume II: Advanced Topics (3rd ed.). Addison-Wesley Professional. ISBN 978-0-321-81384-8.
- Murphy, Mark (June 26, 2009). Beginning Android (1st ed.). Apress. ISBN 978-1-4302-2419-8.
- Meier, Reto (March 2010). Professional Android 2 Application Development (1st ed.). Wrox Press. ISBN 978-0-470-56552-0.
- Haseman, Chris (July 21, 2008). Android Essentials (1st ed.). Apress. ISBN 978-1-4302-1064-1.
- Clifton, Ian (August 3, 2012). The Essentials of Android Application Development LiveLessons (Video Training) (1st ed.). Addison-Wesley Professional. ISBN 978-0-13-299658-7.
