Rozwój oprogramowania na Androida
Tworzenie oprogramowania dla systemu Android to proces, w ramach którego tworzone są aplikacje dla urządzeń z systemem operacyjnym Android . Google twierdzi, że „aplikacje na Androida można pisać przy użyciu Kotlin , Java i C++ ” przy użyciu zestawu Android Software Development Kit (SDK), podczas gdy możliwe jest również używanie innych języków. Wszystkie maszyny wirtualnej inne niż Java (JVM), takie jak Go , JavaScript , C , C++ lub asembler , potrzebują pomocy kodu języka JVM, który może być dostarczany przez narzędzia, prawdopodobnie z ograniczoną obsługą API. Niektóre języki programowania i narzędzia umożliwiają obsługę aplikacji międzyplatformowych (tj. zarówno na Androida, jak i iOS ). Narzędzia innych firm, środowiska programistyczne i obsługa języków również ewoluowały i rozszerzały się od czasu wydania pierwszego zestawu SDK w 2008 r. Oficjalnym mechanizmem dystrybucji aplikacji na Androida dla użytkowników końcowych jest Google Play ; umożliwia również etapowe stopniowe wydawanie aplikacji, a także dystrybucję przedpremierowych wersji aplikacji wśród testerów.
Oficjalne narzędzia programistyczne
Zestaw Android Software Development Kit (SDK) zawiera kompleksowy zestaw narzędzi programistycznych. Narzędzia platformy Android SDK to oddzielnie pobierany podzbiór pełnego zestawu SDK, składający się z narzędzi wiersza poleceń, takich jak adb
i fastboot
. Android Debug Bridge (ADB) to narzędzie do uruchamiania poleceń na podłączonym urządzeniu z Androidem. Fastboot to protokół używany do flashowania systemów plików. Kod napisany w C / C++ można skompilować do ARM lub x86 kod natywny (lub ich 64-bitowe warianty) przy użyciu zestawu Android Native Development Kit (NDK).
Zestaw programistyczny Android Open Accessory
Platforma Android 3.1 (również przeniesiona do Androida 2.3.4) wprowadza obsługę Android Open Accessory, która umożliwia zewnętrznemu sprzętowi USB (akcesorium Android USB) interakcję z urządzeniem z systemem Android w specjalnym trybie „akcesoriów”. Gdy urządzenie z systemem Android jest w trybie akcesoriów, podłączone akcesorium działa jako host USB (zasila magistralę i wylicza urządzenia), a urządzenie z systemem Android działa jako urządzenie USB. Akcesoria Android USB są specjalnie zaprojektowane do podłączania do urządzeń z systemem Android i są zgodne z prostym protokołem (protokół akcesoriów Android), który umożliwia im wykrywanie urządzeń z systemem Android, które obsługują tryb akcesoriów.
Rozwój sprzętu zewnętrznego
Narzędzia programistyczne, które mają pomóc urządzeniu z Androidem w interakcji z zewnętrznymi urządzeniami elektronicznymi, obejmują IOIO , Android Open Accessory Development Kit , Microbridge, Triggertrap itp.
Emulatory Androida
- BlueStacks
- Genymotion
- LeapDroid
- Wynalazca aplikacji na Androida
- Studio Androida
- MEmu
- Android-x86
- Odtwarzacz aplikacji Nox
- Podsystem Windows dla Androida
Wyzwanie programisty Androida
Android Developer Challenge był konkursem mającym na celu znalezienie najbardziej innowacyjnej aplikacji na Androida. Google zaoferował nagrody o łącznej wartości 10 milionów dolarów , rozdzielone pomiędzy ADC I i ADC II. ADC Przyjmowałem zgłoszenia od 2 stycznia do 14 kwietnia 2008 r. 50 najbardziej obiecujących zgłoszeń, ogłoszonych 12 maja 2008 r., otrzymało nagrodę w wysokości 25 000 USD na dalszy rozwój. Zakończyło się na początku września ogłoszeniem dziesięciu drużyn, które otrzymały po 275 000 $ każda, i dziesięciu drużyn, które otrzymały po 100 000 $.
ADC II zostało ogłoszone 27 maja 2009 r. Pierwsza runda ADC II zakończyła się 6 października 2009 r. Zwycięzcy pierwszej rundy ADC II, obejmujący 200 najlepszych aplikacji, zostali ogłoszeni 5 listopada 2009 r. Głosowanie na drugą rundę również rozpoczęło się tego samego dnia i zakończyło 25 listopada. Google ogłosiło najlepszych zwycięzców ADC II 30 listopada za pomocą SweetDreams, What the Doodle!? i WaveSecure zostali nominowani jako zwycięzcy konkursu.
Dystrybucje społecznościowe
Istnieje społeczność entuzjastów open source , którzy budują i udostępniają dystrybucje oparte na Androidzie (tj. Firmware ) z szeregiem dostosowań i dodatkowych funkcji, takich jak obsługa bezstratnego dźwięku FLAC i możliwość przechowywania pobranych aplikacji na karcie microSD . Zwykle wiąże się to z rootowaniem urządzenia. Rootowanie umożliwia użytkownikom dostęp root do systemu operacyjnego, umożliwiając pełną kontrolę nad telefonem. Rootowanie ma również kilka wad, w tym zwiększone ryzyko włamania, wysokie prawdopodobieństwo zamurowania , utrata gwarancji, zwiększone ryzyko ataku wirusów itp. Możliwe jest również zainstalowanie niestandardowego oprogramowania układowego, chociaż program ładujący urządzenia musi być również odblokowany. Niestandardowe oprogramowanie układowe pozwala użytkownikom starszych telefonów na korzystanie z aplikacji dostępnych tylko w nowszych wersjach.
Te pakiety oprogramowania układowego są często aktualizowane, zawierają elementy funkcjonalności Androida, które nie zostały jeszcze oficjalnie wydane w oprogramowaniu zatwierdzonym przez operatora i mają zwykle mniej ograniczeń. Przykładami takiego oprogramowania układowego są CyanogenMod i OMFGB.
W dniu 24 września 2009 r. Firma Google wystosowała pismo o zaprzestaniu działalności do moddera Cyanogen, powołując się na problemy z redystrybucją aplikacji Google o zamkniętym źródle w ramach niestandardowego oprogramowania układowego. Mimo że większość systemu operacyjnego Android jest open source, telefony są dostarczane z aplikacjami Google o zamkniętym kodzie źródłowym, zapewniającymi takie funkcje, jak Google Play i nawigacji GPS. Firma Google zapewniła, że te aplikacje mogą być dostarczane wyłącznie za pośrednictwem zatwierdzonych kanałów dystrybucji przez licencjonowanych dystrybutorów. Cyanogen przestrzegał licencji Google i kontynuował dystrybucję swojego moda bez oprogramowania własnościowego. Zapewnił metodę tworzenia kopii zapasowych licencjonowanych aplikacji Google podczas procesu instalacji moda i przywracania ich po zakończeniu procesu.
standardy Javy
Przeszkodą w rozwoju jest fakt, że Android nie korzysta z ustalonych standardów Java, czyli Java SE i ME . Uniemożliwia to kompatybilność między aplikacjami Java napisanymi dla tych platform a aplikacjami napisanymi dla platformy Android. Android ponownie wykorzystuje składnię i semantykę języka Java, ale nie zapewnia pełnych bibliotek klas i interfejsów API dołączonych do Java SE lub ME. Jednak na rynku dostępnych jest wiele narzędzi firm takich jak Myriad Group i UpOnTek, które zapewniają usługi konwersji Java ME na Androida.
Android zapewnia własne klasy GUI i nie zapewnia Java AWT, Swing ani JavaFX. Nie obsługuje pełnego interfejsu Java Beans API. [ potrzebne źródło ]
Android został stworzony przez Open Handset Alliance , na czele którego stoi Google. Wczesne opinie na temat tworzenia aplikacji na platformę Android były mieszane. Cytowane problemy obejmują błędy, brak dokumentacji, nieodpowiednią infrastrukturę kontroli jakości i brak publicznego systemu śledzenia problemów. (Google ogłosił narzędzie do śledzenia problemów 18 stycznia 2008 r.) W grudniu 2007 r. Adam MacBeth, założyciel mobilnego startupu MergeLab, stwierdził: „Nie ma funkcjonalności, jest słabo udokumentowana lub po prostu nie działa… Najwyraźniej nie jest gotowy na najlepszy czas ”. Mimo to aplikacje kierowane na Androida zaczęły pojawiać się tydzień po ogłoszeniu platformy. Pierwszą publicznie dostępną aplikacją był Gra w węża .
Wersja zapoznawcza zestawu SDK systemu Android została opublikowana 12 listopada 2007 r. 15 lipca 2008 r. zespół Android Developer Challenge Team przypadkowo wysłał wiadomość e-mail do wszystkich uczestników konkursu Android Developer Challenge, ogłaszając, że nowa wersja zestawu SDK jest dostępna w „prywatny” obszar pobierania. E-mail był przeznaczony dla zwycięzców pierwszej rundy konkursu Android Developer Challenge. Odkrycie, że Google dostarcza nowe wersje SDK niektórym programistom, a innym nie (i utrzymuje to porozumienie w tajemnicy), doprowadziło do szeroko zgłaszanej frustracji w ówczesnej społeczności programistów Androida.
18 sierpnia 2008 r. Została wydana wersja beta zestawu Android 0.9 SDK. To wydanie zawiera zaktualizowany i rozszerzony interfejs API, ulepszone narzędzia programistyczne oraz zaktualizowany projekt ekranu głównego. Szczegółowe instrukcje dotyczące aktualizacji są dostępne dla osób, które już pracują z wcześniejszą wersją. 23 września 2008 r. Wydano zestaw SDK systemu Android 1.0 (wersja 1). Zgodnie z informacjami o wydaniu zawierał „głównie poprawki błędów, chociaż dodano kilka mniejszych funkcji”. Zawierał również kilka zmian API z wersji 0.9. Od czasu jego opracowania wydano wiele wersji.
5 grudnia 2008 r. firma Google ogłosiła pierwszy Android Dev Phone , urządzenie z odblokowaną kartą SIM i odblokowaną sprzętowo, przeznaczone dla zaawansowanych programistów. Była to zmodyfikowana wersja telefonu HTC Dream. Podczas gdy programiści mogą używać zwykłych urządzeń konsumenckich do testowania i używania swoich aplikacji, niektórzy programiści mogą wybrać dedykowane urządzenie odblokowane lub bez umowy.
Do lipca 2013 r. opracowano ponad milion aplikacji dla systemu Android, które pobrano ponad 25 miliardów razy. Badanie z czerwca 2011 roku wykazało, że w momencie publikacji z platformy korzystało ponad 67% programistów mobilnych. Przewiduje się, że dostawy smartfonów z Androidem przekroczą 1,2 miliarda sztuk w 2018 roku, przy 85% udziale w rynku.
Zobacz też
Bibliografia
- Ed, Burnette (13 lipca 2010). Witaj, Android: Przedstawiamy platformę programistyczną Google dla urządzeń mobilnych (wyd. 3). Pragmatyczna półka na książki . ISBN 978-1-934356-56-2 .
- Ableson, Frank; Sen, Robi; Król, Chris (styczeń 2011). Android w akcji, wydanie drugie (wyd. 2). Manninga . ISBN 978-1-935182-72-6 .
- Konder, Shane; Darcey, Lauren (24 lipca 2012). Rozwój aplikacji bezprzewodowych na Androida, tom II: Zaawansowane tematy (wyd. 3). Addison-Wesley Professional . ISBN 978-0-321-81384-8 .
- Murphy, Mark (26 czerwca 2009). Począwszy od Androida (wyd. 1). Apress . ISBN 978-1-4302-2419-8 .
- Meier, Reto (marzec 2010). Profesjonalne tworzenie aplikacji na Androida 2 (wyd. 1). Wrox Press . ISBN 978-0-470-56552-0 .
- Haseman, Chris (21 lipca 2008). Android Essentials (wyd. 1). Apress . ISBN 978-1-4302-1064-1 .
- Clifton, Ian (3 sierpnia 2012). Podstawy tworzenia aplikacji na Androida Lekcje na żywo (szkolenie wideo) (wyd. 1). Addison-Wesley Professional . ISBN 978-0-13-299658-7 .