Android yazılımı geliştirme

Android yazılım geliştirmesi Android işletim sistemi için yeni uygulamaların oluşturulduğu süreçtir. Uygulamalar genellikle Android yazılım geliştirme kiti (SDK) kullanılarak Java programlama dilinde geliştirilir; ancak diğer geliştirme ortamları da mevcuttur. Google, Android uygulamaları Kotlin, Java ve C++ dilleri kullanılarak Android yazılım geliştirme kiti (SDK) kullanılarak yazılabilir" ve diğer dilleri kullanmak da mümkün olduğunu belirtiyor. Go, JavaScript, C, C++ veya Assembly gibi JVM dışı tüm diller, muhtemelen kısıtlı API desteğiyle araçlar tarafından sağlanabilecek JVM dil kodunun yardımına ihtiyaç duyar. Bazı programlama dilleri ve araçları, platformlar arası uygulama desteğine izin verir (yani hem Android hem de iOS için). Üçüncü taraf araçlar, geliştirme ortamları ve dil desteği de ilk SDK'nın 2008'de piyasaya sürülmesinden bu yana gelişmeye ve genişlemeye devam etti. Son kullanıcılara resmi Android uygulama dağıtım mekanizması Google Play'dir; Ayrıca, aşamalı aşamalı uygulama sürümünün yanı sıra yayın öncesi uygulama sürümlerinin test uzmanlarına dağıtılmasına da olanak tanır.

Android yazılım geliştirme kiti (SDK) kapsamlı bir geliştirme araçları seti içerir. Bunlar arasında hata ayıklayıcı, kitaplık, QEMU'ya dayalı ahize düzenleyici, belgeler, örnek kod ve öğreticiler bulunur. Şimdi desteklenen geliştirme platformları arasında Linux (herhangi bir modern masaüstü Linux dağıtımı), Mac OS X 10.5.8 Leopard veya üstü, Windows 7 veya üstü çalıştıran bilgisayarlar bulunmaktadır. Mart 2015 itibarıyla, SDK Android'in kendisinde bulunmaz; ancak yazılım geliştirmesi uzmanlaşmış Android uygulamaları kullanarak mümkündür.

IntelliJ IDEA (tüm sürümleri) Android geliştirmeyi tam olarak desteklese de, 2014 sonuna kadar resmen desteklenen tümleşik geliştirme ortamı (IDE), Android Geliştirme Araçları (ADT) eklentisi'ni kullanan Eclipse'di. NetBeans IDE ayrıca bir eklenti aracılığıyla Android geliştirmeyi desteklemektedir. 2015 itibarıyla Google tarafından hazırlanan ve IntelliJ tarafından desteklenen Android Studio resmi ortamdır. Geliştiriciler başkalarını kullanmakta özgürdür; ancak Google, ADT'nin resmi geliştirme ortamı olarak Android Studio'ya odaklanması için 2015'ten bu yana resmi olarak önerilmeyeceğini açıkladı. Ayrıca, geliştiriciler Java ve XML dosyalarını düzenlemek için herhangi bir metin düzenleyiciyi kullanabilir, daha sonra Android uygulamalarını oluşturmak, hata ayıklamak, ekli Android aygıtlarını kontrol etmek için komut satırı araçlarını (Java Geliştirme Kiti ve Apache Ant gereklidir) kullanabilir. Android uygulamaları APK formatında paketlenir ve Android işletim sistemindeki / data / app klasörü altında saklanır (klasöre güvenlik nedeniyle yalnızca kök kullanıcı tarafından erişilebilir). APK paketi, .dex dosyaları (Dalvik yürütülebilir dosyaları, derlenmiş bayt kod dosyaları), kaynak dosyaları vb. içeriyor.

C / C++ ile yazılmış kütüphaneler, ARM mimarisi, MIPS mimarisi veya x86 makine diline (veya 64-bit varyantlarına) derlenebilir ve Android Native Development Kit (NDK) kullanılarak yüklenebilir. Bu, yerli kütüphaneler, standart Android Java sınıflarının bir parçası olan System.loadLibrary çağrısı kullanılarak Dalvik altında çalışan Java kodundan çağrılabilir. Komple uygulamalar geleneksel geliştirme araçlarını kullanarak derlenebilir ve kurulabilir. Bununla birlikte, Android dokümantasyonuna göre NDK, yalnızca geliştiricinin C / C ++ programını tercih etmesinden ötürü kullanılmamalıdır.

ADB Hata Ayıklayıcı, Android Emulator altında, ARM, MIPS veya x86 yerel kodunun yüklenip çalıştırılmasına izin veren bir kök kabuk verir. Yerel kod, standart bir PC'de Clang veya GCC kullanılarak derlenebilir. Yerel kodu çalıştırmak, Android'in standart olmayan bir C kütüphanesini (Bionic olarak bilinir) kullanmasıyla karmaşıktır.

Android'in aygıta hakemlik etmek ve bunlara erişimi denetlemek için kullandığı grafik kitaplığına Skia Grafik Kütüphanesi (SGL) adı verilir ve bir açık kaynak lisansı altında serbest bırakılır. Skia, hem Windows API, hem de UNIX için arka uçlara sahiptir, çapraz platform uygulamalarının geliştirilmesine izin verir ve Google Chrome web tarayıcısının temelini oluşturan grafik motorudur. Skia bir NDK API-si değil ve NDK geliştiricileri OpenGL kullanıyor.