Pengembangan perangkat lunak Android

perangkat lunak Google
(Dialihkan dari Kit pengembangan asli)

Android Software Development adalah proses pembuatan aplikasi di mana aplikasi dibuat untuk perangkat yang menjalankan sistem operasi Android . Google menyatakan bahwa [3] “Aplikasi android dapat ditulis menggunakan bahasa pemrograman Kotlin, Java, dan C++” menggunakan Android Software Development Kit, sementara menggunakan bahasa lain juga dimungkinkan. Untuk bahasa pemrograman yang bukan JVM seperti Go, JavaScript, C, C++, atau Assembly, memerlukan bantuan kode dari bahasa JVM, yang mungkin disediakan oleh tools, dengan kemungkinan API terbatas. Beberapa bahasa dan tools pemrograman memungkinkan dukungan aplikasi lintas platform (Seperti IOS dan Android). Third-party tools, lingkungan pengembangan, dan dukungan bahasa juga terus berkembang sejak SDK awal dirilis tahun 2008. Mekanisme distribusi aplikasi Android yang resmi untuk pengguna akhir adalah Google Play. Itu juga memungkinkan merilis aplikasi secara bertahap, serta distribusi dari versi aplikasi pra-rilis ke penguji.

The Android stack[1]
[1]Nexus 4, bagian dari seri Google Nexus, contoh perangkat yang "ramah pengembang".[2]

Alat Pengembangan Resmi

sunting

Android SDK

sunting

Perlengkapan pengembangan perangkat lunak Android (SDK) mencakup seperangkat alat pengembangan yang komprehensif.[4] Ini termasuk debugger, pustaka, sebuah emulator handset berdasarkan QEMU, dokumentasi, kode sampel, dan tutorial. Platform pengembangan yang didukung saat ini mencakup komputer yang menjalankan Linux (Distribusi Linux desktop modern apa pun), Mac OS X 10.5.8 atau yang lebih baru, dan Windows 7 atau yang lebih baru. Pada Maret 2015, SDK tidak tersedia di Android itu sendiri, tetapi pengembangan perangkat lunak dapat dilakukan dengan menggunakan aplikasi Android khusus.[5][6][7]

Hingga sekitar akhir tahun 2014, lingkungan pengembangan terpadu(IDE) yang didukung secara resmi adalah Eclipse menggunakan Plugin Android Development Tools (ADT), meskipun IntelliJ IDEA IDE (semua edisi) sepenuhnya mendukung pengembangan Android di luar kotak,[8] dan NetBeans IDE juga mendukung pengembangan Android melalui plugin.[9] Mulai 2015, Android Studio,[10] dibuat oleh Google dan diberdayakan oleh IntelliJ, adalah IDE resmi; Namun, pengembang bebas menggunakan yang lain, tetapi Google menjelaskan bahwa ADT secara resmi tidak digunakan lagi sejak akhir 2015 untuk fokus pada Android Studio sebagai Android IDE resmi. Selain itu, pengembang dapat menggunakan editor teks apa pun untuk mengedit file Java dan XML, kemudian menggunakan alat baris perintah (diperlukan Java Development Kit dan Apache Ant) untuk membuat, membangun, dan men-debug aplikasi Android serta mengontrol perangkat Android yang terpasang (misalnya, memicu reboot, menginstal paket perangkat lunak dari jarak jauh).[5][11]

Penyempurnaan pada SDK Android berjalan seiring dengan pengembangan platform Android secara keseluruhan. SDK juga mendukung versi lama dari platform Android jika pengembang ingin menargetkan aplikasi mereka pada perangkat yang lebih lama. Alat pengembangan adalah komponen yang dapat diunduh, jadi setelah seseorang mengunduh versi dan platform terbaru, platform dan alat yang lebih lama juga dapat diunduh untuk pengujian kompatibilitas.[12]

Aplikasi Android dikemas dalam format .apk dan disimpan di bawah /data/app folder di OS Android (folder hanya dapat diakses oleh pengguna root untuk alasan keamanan). Paket APK berisi file .dex[13] (file kode byte terkompilasi yang disebut dapat dieksekusi Dalvik), file sumber daya, dll.

Alat Platform Android SDK

sunting

Alat Platform Android SDK adalah subset dari SDK lengkap yang dapat diunduh secara terpisah, yang terdiri dari alat baris perintah seperti adb and fastboot.

Android Debug Bridge

sunting

Android Debug Bridge (ADB) adalah alat untuk menjalankan perintah pada perangkat Android yang terhubung. Daemon adbd berjalan di perangkat, dan klien adb memulai server latar belakang ke perintah multipleks yang dikirim ke perangkat. Selain antarmuka baris perintah,[14] banyak antarmuka pengguna grafis yang ada untuk mengontrol adb.

Format untuk mengeluarkan perintah biasanya:

adb [-d|-e|-s <nomor seri>] <perintah>
Dimana -d adalah opsi untuk menentukan satu perangkat yang terhubung ke USB,
       -e untuk satu-satunya emulator Android yang berjalan di komputer,
       -s untuk menentukan perangkat yang tersambung ke USB dengan nomor seri uniknya.
Jika hanya ada satu perangkat yang terpasang atau menjalankan emulator, opsi ini tidak diperlukan.

Misalnya, aplikasi Android dapat disimpan dengan perintah backup ke sebuah file, yang namanya backup.ab secara default.[15]

Dalam masalah keamanan yang dilaporkan pada Maret 2011, ADB ditargetkan sebagai vektor untuk mencoba memasang rootkit pada ponsel yang terhubung menggunakan "serangan kehabisan sumber daya".[16]

Fastboot

sunting

Fastboot adalah protokol [17] dan memiliki alat dengan nama yang sama yang disertakan dengan paket Android SDK yang digunakan terutama untuk memodifikasi sistem file flash melalui koneksi USB dari komputer host. Ini mengharuskan perangkat dimulai dalam boot loader atau mode Pemuat Program Sekunder, di mana hanya inisialisasi perangkat keras paling dasar yang dilakukan. Setelah mengaktifkan protokol pada perangkat itu sendiri, ia akan menerima sekumpulan perintah tertentu yang dikirim kepadanya melalui USB menggunakan baris perintah.[18] Beberapa perintah fastboot yang paling umum digunakan antara lain:

  • flash - menulis ulang partisi dengan image biner yang disimpan di komputer host.
  • erase - menghapus partisi tertentu.
  • reboot - me-reboot perangkat ke sistem operasi utama, partisi pemulihan sistem, atau kembali ke boot loadernya.
  • devices - menampilkan daftar semua perangkat (dengan nomor seri) yang terhubung ke komputer host.
  • format - memformat partisi tertentu; sistem file partisi harus dikenali oleh perangkat.

Android NDK

sunting
Android NDK
TipePengembangan perangkat lunak  
Versi pertamaJuni 2009; 15 tahun lalu (2009-06)[19]
GenreSDK
LisensiAndroid Open Source Project (en)    
Bahasa
Daftar bahasa

Inggris

Karakteristik teknis
Sistem operasi
Bahasa pemrogramanJava  
Informasi pengembang
PengembangGoogle
Sunting di Wikidata   • Sunting kotak info • L • B
 
Bantuan penggunaan templat ini


Kode ditulis dalam C/C++ dapat dikomplikasi kedalam ARM, atau x86 kode native (atau varian 64-bit nya). NDK menggunakan compiler Clang untuk mengkompilasi C/C++. GCC disertakan hingga NDK r17, tetapi dihapus pada r18 pada 2018.

Native libraries bisa dipanggil dari kode Java yang berjalan dibawah Android Runtime menggunakan System.loadLibrary, bagian dari kelas standar Android Java.[21][22]

Alat untuk Command-line dapat dikompilasi dengan NDK dan diinstal menggunakan ADB.[23]

Android menggunakan Bionic sebagai C library, dan LLVM libc sebagai C++ Standard Library. NDK juga menyertakan beberapa API lainnya:[24] zlib compression, OpenGL ES atau Vulkan graphics, OpenSL ES audio, dan beberapa API khusus android untuk hal-hal seperti logging, akses ke kamera, dan jaringan neural yang dipercepat.

NDK menyertakan dukungan untuk CMake dan build-ndk-nya sendiri (berdasarkan GNU Make). Android Studio mendukung untuk menjalankan salah satu dari ini dari Gradle. Alat pihak ketiga lainnya memungkinkan pengintegrasian NDK ke dalam Eclipse[25] dan Visual Studio.[26]

Untuk pembuatan profil CPU, NDK juga menyertakan simpleperf[27] yang mirip dengan alat kinerja Linux, tetapi dengan dukungan yang lebih baik untuk Android dan khususnya untuk campuran Java / C ++ stacks.

Android Open Accessory Development Kit

sunting

Platform Android 3.1 (juga di-backport ke Android 2.3.4) memperkenalkan Android Open Accessory support, yang memungkinkan perangkat keras USB eksternal (aksesori USB Android) untuk berinteraksi dengan perangkat yang diberdayakan Android dalam mode "aksesori" khusus. Saat perangkat yang diberdayakan Android dalam mode aksesori, aksesori yang terhubung bertindak sebagai host USB (memberi daya pada bus dan menyebutkan perangkat) dan perangkat yang diberdayakan Android bertindak sebagai perangkat USB. Aksesori USB Android dirancang khusus untuk dipasang ke perangkat yang diberdayakan Android dan mematuhi protokol sederhana (protokol aksesori Android) yang memungkinkan mereka mendeteksi perangkat yang diberdayakan Android yang mendukung mode aksesori.[28]

Pengembangan Perangkat Keras Eksternal

sunting

Alat pengembangan yang dimaksudkan untuk membantu perangkat Android berinteraksi dengan elektronik eksternal termasuk IOIO, Perlengkapan Pengembangan Aksesori Terbuka Android, Microbridge, Triggertrap, dll.

Tantangan Pengembang Android

sunting

Tantangan Pengembang Android atau Android Developer Challenge adalah kompetisi untuk menemukan aplikasi paling inovatif untuk Android. Google menawarkan hadiah sebesar 10 juta dolar AS, didistribusikan antara ADC I dan ADC II. ADC I menerima pengajuan dari 2 Januari hingga 14 April 2008. 50 entri paling menjanjikan, diumumkan pada 12 Mei 2008, masing-masing menerima penghargaan $ 25.000 untuk pengembangan lebih lanjut.[29][30] Itu berakhir pada awal September dengan pengumuman sepuluh tim yang masing-masing menerima $275.000, dan sepuluh tim yang masing-masing menerima $100.000.[31]

ADC II diumumkan pada 27 Mei 2009.[32] Putaran pertama ADC II ditutup pada 6 Oktober 2009.[33] Pemenang putaran pertama ADC II yang terdiri dari 200 aplikasi teratas diumumkan pada 5 November 2009. Voting untuk putaran kedua juga dibuka di hari yang sama dan berakhir pada 25 November. Google mengumumkan pemenang teratas ADC II pada 30 November, dengan SweetDreams, What the Doodle!? dan WaveSecure dinominasikan sebagai pemenang keseluruhan dari tantangan tersebut.[34][35]

Distribusi Berbasis Komunitas

sunting

Ada komunitas penggemar open-source yang membangun dan berbagi distribusi berbasis Android (yaitu firmware) dengan sejumlah penyesuaian dan fitur tambahan, seperti dukungan FLAC lossless audio dan kemampuan untuk menyimpan aplikasi yang diunduh pada kartu microSD.[36] Ini biasanya melibatkan perangkat rooting. Rooting memungkinkan pengguna mengakses root ke sistem operasi, memungkinkan kontrol penuh atas ponsel. Rooting juga memiliki beberapa kelemahan, termasuk peningkatan risiko peretasan, kemungkinan besar terjadinya bricking, kehilangan garansi, peningkatan risiko serangan virus, dan lain lain.[37] Anda juga dapat menginstal firmware khusus, meskipun boot loader perangkat juga harus dibuka kuncinya. Firmware kustom memungkinkan pengguna ponsel lama untuk menggunakan aplikasi yang hanya tersedia pada rilis yang lebih baru.[38]

Paket firmware tersebut sering diperbarui, menggabungkan elemen fungsionalitas Android yang belum dirilis secara resmi dalam firmware tetapi disetujui operator, dan cenderung memiliki lebih sedikit batasan. CyanogenMod dan OMFGB adalah contoh firmware tersebut.

Pada tanggal 24 September 2009, Google mengeluarkan surat cease dan desist [39] kepada modder Cyanogen, mengutip masalah dengan pendistribusian ulang aplikasi closed-source Google[40] dalam firmware khusus. Meskipun sebagian besar OS Android adalah open source, ponsel hadir dengan aplikasi closed-source Google untuk fungsionalitas seperti Google Play dan navigasi GPS. Google telah menegaskan bahwa aplikasi ini hanya dapat diberikan melalui saluran distribusi yang disetujui oleh distributor berlisensi. Cyanogen mematuhi lisensi Google dan terus mendistribusikan modnya tanpa perangkat lunak berpemilik. Ini menyediakan metode untuk membuat cadangan aplikasi Google berlisensi selama proses penginstalan mod dan memulihkannya saat proses selesai.[41]

Standar Java

sunting

Hambatan pengembangan termasuk fakta bahwa Android tidak menggunakan standar Java yang sudah mapan, yaitu Java SE dan ME. Ini mencegah kompatibilitas antara aplikasi Java yang ditulis untuk platform tersebut dan yang ditulis untuk platform Android. Android menggunakan kembali sintaks dan semantik bahasa Java, tetapi tidak menyediakan pustaka kelas lengkap dan API yang dibundel dengan Java SE atau ME.[42] Namun, ada beberapa alat di pasar dari perusahaan seperti Myriad Group dan UpOnTek yang menyediakan layanan konversi Java ME ke Android.[43][44][45]

Android menyediakan kelas GUI-nya sendiri, dan tidak menyediakan Java AWT, Swing, atau JavaFX. Itu tidak mendukung Java Beans API penuh.

Sejarah dan Pangsa Pasar

sunting

Android dibuat oleh Open Handset Alliance, yang dipimpin oleh Google. Feedback awal tentang pengembangan aplikasi untuk platform Android beragam.[46] Masalah yang dikutip termasuk bug, kurangnya dokumentasi, infrastruktur QA yang tidak memadai, dan tidak ada sistem pelacakan masalah publik. (Google mengumumkan pelacak masalah pada 18 Januari 2008.)[47]. Pada bulan Desember 2007, pendiri startup seluler MergeLab Adam MacBeth menyatakan, "Fungsionalitas tidak ada, tidak terdokumentasi dengan baik, atau tidak berfungsi. Jelas belum siap untuk waktu prime.[48]" Meskipun demikian, aplikasi bertarget Android mulai muncul seminggu setelah platform tersebut diumumkan. Aplikasi pertama yang tersedia untuk umum adalah permainan Snake.[49][50]

Rilis pratinjau SDK Android dirilis pada 12 November 2007. Pada tanggal 15 Juli 2008, Android Developer Challenge Team secara tidak sengaja mengirim email ke semua peserta Android Developer Challenge yang mengumumkan bahwa rilis baru SDK telah tersedia di area unduhan "pribadi". Email tersebut ditujukan untuk pemenang putaran pertama Tantangan Pengembang Android. Pengungkapan bahwa Google memasok rilis SDK baru ke beberapa pengembang dan bukan yang lain (dan menjaga kerahasiaan pengaturan ini) menyebabkan frustrasi yang dilaporkan secara luas dalam komunitas pengembang Android pada saat itu.[51]

Pada 18 Agustus 2008, Android 0.9 SDK beta dirilis. Rilis ini menyediakan API yang diperbarui dan diperpanjang, alat pengembangan yang ditingkatkan, dan desain yang diperbarui untuk layar beranda. Instruksi rinci untuk peningkatan tersedia bagi mereka yang sudah bekerja dengan rilis sebelumnya.[52] Pada tanggal 23 September 2008, Android 1.0 SDK (Rilis 1) dirilis.[53] Menurut catatan rilis, itu termasuk "terutama perbaikan bug, meskipun beberapa fitur yang lebih kecil telah ditambahkan." Ini juga termasuk beberapa perubahan API dari versi 0.9. Beberapa versi telah dirilis sejak dikembangkan.[54]

Pada 5 Desember 2008, Google mengumumkan Android Dev Phone pertama, perangkat yang tidak terkunci SIM dan perangkat kerasnya dirancang untuk pengembang tingkat lanjut. Itu adalah versi modifikasi dari ponsel HTC Dream. Meskipun pengembang dapat menggunakan perangkat konsumen biasa untuk menguji dan menggunakan aplikasi mereka, beberapa pengembang dapat memilih perangkat khusus yang tidak terkunci atau tanpa kontrak.

Pada Juli 2013, lebih dari satu juta aplikasi telah dikembangkan untuk Android,[55] dengan lebih dari 25 miliar unduhan.[56][57] Sebuah penelitian bulan Juni 2011 menunjukkan bahwa lebih dari 67% pengembang seluler menggunakan platform tersebut, pada saat publikasi..[58] Pengiriman smartphone Android diperkirakan melebihi 1,2 miliar unit pada tahun 2018 dengan 85% pangsa pasar.[59]

Lihat pula

sunting

Referensi

sunting
  1. ^ a b "The Android Source Code". Source.Android.com. Diakses tanggal February 2, 2017. 
  2. ^ Syed H (24 September 2012). "Editorial: Why You Should Go Nexus". Droid Lessons. Diarsipkan dari versi asli tanggal 2013-05-15. Diakses tanggal 17 April 2013. 
  3. ^ "Application Fundamentals". Android Developers. 
  4. ^ "Tools Overview". Android Developers. July 21, 2009. 
  5. ^ a b appfour. "AIDE- IDE for Android Java C++ - Android Apps on Google Play". google.com. 
  6. ^ gesturedevelop. "Java Editor - Android Apps on Google Play". google.com. 
  7. ^ Tanapro GmbH, Tom Arn. "JavaIDEdroid - Android Apps on Google Play". google.com. 
  8. ^ "IntelliJ Android Development". Diarsipkan dari versi asli tanggal 2015-09-05. Diakses tanggal September 19, 2012. 
  9. ^ "NBAndroid Plugin". Diarsipkan dari versi asli tanggal 2018-10-17. Diakses tanggal September 19, 2012. 
  10. ^ "Android Studio". 
  11. ^ Westfall, Jon (August 25, 2009). "Backup & Restore Android Apps Using ADB". JonWestfall.com. Diakses tanggal December 7, 2009. 
  12. ^ "SDK Tools release notes". Android Developers. 
  13. ^ "Glossary". Android Developers. 
  14. ^ "Android Debug Bridge | Android Developers" Accessed December 27, 2012
  15. ^ Jack Wallen (2015-03-06). "How to create a full backup of your Android device without root". Diakses tanggal 2016-01-29. 
  16. ^ Lemos, Robert "Open source vulnerabilities paint a target on Android"
  17. ^ "Fastboot Protocol Documentation". android.googlesource.com. Diakses tanggal 2019-07-07. 
  18. ^ Ravenscraft, Eric (2014-06-13). "The Most Useful Things You Can Do with ADB and Fastboot on Android". Lifehacker (dalam bahasa Inggris). Diakses tanggal 2019-07-07. 
  19. ^ a b "Android NDK | Android Developers". Developer.android.com. November 13, 2012. Diakses tanggal March 13, 2014. 
  20. ^ "NDK Downloads | Android Developers". developer.android.com (dalam bahasa Inggris). Diakses tanggal 2018-04-24. 
  21. ^ Srinivas, Davanum (December 9, 2007). "Android — Invoke JNI based methods (Bridging C/C++ and Java)". Diarsipkan dari versi asli tanggal December 16, 2008. Diakses tanggal December 13, 2008. 
  22. ^ "java.lang.System". Android Developers. Diakses tanggal September 3, 2009. 
  23. ^ "Android Debug Bridge (adb)". 
  24. ^ "Android NDK Native APIs | Android NDK". 
  25. ^ "Using Eclipse for Android C/C++ Development". January 23, 2011. 
  26. ^ "Using Visual Studio to Develop Native Android Code–VisualGDB Tutorials". 
  27. ^ "Simpleperf | Android NDK". 
  28. ^ "Accessory Development Kit | Android Developers guides". Developer.android.com. Diakses tanggal October 2, 2012. 
  29. ^ Chen, Jason (May 12, 2008). "The Top 50 Applications". Android Developers Blog. Diarsipkan dari versi asli tanggal September 25, 2009. Diakses tanggal September 4, 2009. 
  30. ^ Brown, Eric (May 13, 2008). "Android Developer Challenge announces first-round winners". Linux for Devices. Diarsipkan dari versi asli tanggal May 14, 2008. 
  31. ^ "ADC I Top 50 Gallery". Android Developer Challenge. Diakses tanggal May 19, 2009. 
  32. ^ "Android Developer Challenge". Google Code. Diakses tanggal January 11, 2008. 
  33. ^ Chu, Eric (October 6, 2009). "ADC 2 Round 1 Scoring Complete". Android Developers Blog. Diarsipkan dari versi asli tanggal November 1, 2009. Diakses tanggal November 3, 2009. 
  34. ^ "ADC 2 Overall Winners". Android Developer Challenge. Diarsipkan dari versi asli tanggal January 4, 2011. Diakses tanggal December 5, 2010. 
  35. ^ Kharif, Olga (November 30, 2009). "Android Developer Challenge 2 Winners Announced". BusinessWeek. Diakses tanggal December 5, 2010. 
  36. ^ "Dream android development". xda-developers forum. Diakses tanggal September 11, 2009. 
  37. ^ "Rooting: Advantages and Disadvantages". ITCSE forum. Diarsipkan dari versi asli tanggal November 29, 2014. Diakses tanggal September 21, 2013. 
  38. ^ "Android 2.1 from Motorola Droid Ported to G1". Volt Mobile. March 10, 2010. Diarsipkan dari versi asli tanggal May 31, 2011. Diakses tanggal May 13, 2011. 
  39. ^ Wimberly, Taylor (September 24, 2009). "CyanogenMod in trouble?". Android and me. Diarsipkan dari versi asli tanggal October 3, 2009. Diakses tanggal September 26, 2009. 
  40. ^ Morrill, Dan (September 25, 2009). "A Note on Google Apps for Android". Android Developers Blog. Diarsipkan dari versi asli tanggal October 25, 2009. Diakses tanggal September 26, 2009. 
  41. ^ "The current state..." CyanogenMod Android ROM. September 27, 2009. Diarsipkan dari versi asli tanggal November 3, 2009. Diakses tanggal September 27, 2009. 
  42. ^ van Gurp, Jilles (November 13, 2007). "Google Android: Initial Impressions and Criticism". Javalobby. Diarsipkan dari versi asli tanggal 2008-08-28. Diakses tanggal 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 
  43. ^ "Myriad's New J2Android Converter Fuels Android Applications Gold Rush". March 19, 2010. Diarsipkan dari versi asli tanggal July 4, 2011. Diakses tanggal May 13, 2011. 
  44. ^ Fruhlinger, Josh (March 23, 2010). "J2Android hopes you don't know that Android is Java-based". JavaWorld. Diakses tanggal 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. 
  45. ^ Fruhlinger, Josh (March 31, 2010). "Myriad CTO: J2Android moves MIDlets to "beautiful" Android framework". JavaWorld. Diakses tanggal 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. 
  46. ^ Paul, Ryan (December 19, 2007). "Developing apps for Google Android: it's a mixed bag". Ars Technica. Diarsipkan dari versi asli tanggal December 20, 2007. Diakses tanggal December 19, 2007. 
  47. ^ Morrill, Dan (January 18, 2008). "You can't rush perfection, but now you can file bugs against it". Android Developers Blog. Diakses tanggal September 3, 2009. 
  48. ^ Morrison, Scott (December 19, 2007). "Glitches Bug Google's Android Software". The Wall Street Journal. Diakses tanggal December 19, 2007. 
  49. ^ "Snake". Android Freeware Directory. Diarsipkan dari versi asli tanggal 2008-05-09. Diakses tanggal January 26, 2008. 
  50. ^ "First Android Application — Snake". Mobiles2day. November 14, 2007. Diarsipkan dari versi asli tanggal May 11, 2008. Diakses tanggal January 7, 2008. 
  51. ^ Metz, Cade (July 14, 2008). "Google plays Hide and Seek with Android SDK". The Register. Diarsipkan dari versi asli tanggal October 6, 2008. Diakses tanggal October 23, 2008. 
  52. ^ "Android — An Open Handset Alliance Project: Upgrading the SDK". Diarsipkan dari versi asli tanggal September 13, 2008. Diakses tanggal October 24, 2008. 
  53. ^ "Other SDK Releases". Android Developers. Diakses tanggal September 2, 2009. 
  54. ^ "SDK Archives". Android Developers. 
  55. ^ "Google Play Hits 1 Million Apps". Mashable. July 24, 2013. 
  56. ^ "Android App Stats". Diarsipkan dari versi asli tanggal January 2, 2011. Diakses tanggal December 31, 2010. 
  57. ^ Leena Rao (April 14, 2011). "Google: 3 Billion Android Apps Installed; Downloads Up 50 Percent From Last Quarter". Techcrunch. Diarsipkan dari versi asli tanggal April 25, 2011. Diakses tanggal May 13, 2011. 
  58. ^ "Developer Economics 2011". Diarsipkan dari versi asli tanggal September 29, 2013. Diakses tanggal July 8, 2011. 
  59. ^ "Worldwide Smartphone Volumes Will Remain Down in 2018 Before Returning to Growth in 2019 and Beyond, According to IDC". idc.com. May 30, 2018. Diarsipkan dari versi asli tanggal 2019-10-17. Diakses tanggal June 6, 2018. 

Pranala luar

sunting