Android to system operacyjny na szeroką gamę urządzeń o różnych kształtach. Dokumentacja i kod źródłowy Androida są dostępne dla każdego w ramach Projektu Android Open Source (AOSP). Możesz używać AOSP do tworzenia niestandardowych wersji systemu operacyjnego Android na własne urządzenia.
AOSP został zaprojektowany tak, aby nie było centralnego punktu awarii, w którym jeden podmiot z branży ogranicza lub kontroluje innowacje innego podmiotu. Dlatego AOSP to pełnoprawny produkt dla programistów o jakości produkcyjnej, którego kod źródłowy jest otwarty na dostosowywanie i przenoszenie.
Ta sekcja dokumentacji pomaga nowym deweloperom AOSP rozpocząć pracę z platformą i wykonywać podstawowe zadania związane z programowaniem.
Wymagane warunki
Poniżej znajdziesz listę terminów i definicji używanych w dokumentacji dla początkujących. Przed przejściem dalej zapoznaj się z każdą definicją.
- Deweloper aplikacji na Androida
Deweloperzy aplikacji na Androida tworzą aplikacje na Androida, czyli aplikacje działające na urządzeniach z Androidem. Istnieją 2 rodzaje deweloperów aplikacji: deweloperzy własnych (1P) i zewnętrznych (3P).
- Deweloper aplikacji własnych na Androida
- Deweloper aplikacji na Androida, który ma dostęp do interfejsów API systemu AOSP i tworzy aplikacje z uprawnieniami oraz aplikacje producentów urządzeń.
- Deweloper aplikacji na Androida firmy zewnętrznej
- Deweloper aplikacji na Androida, który do tworzenia aplikacji na Androida używa wyłącznie publicznego pakietu SDK Androida.
Jeśli chcesz tworzyć aplikacje innych firm na Androida, zapoznaj się z tym developer.android.com
. Informacje na tej stronie są przeznaczone wyłącznie dla osób pracujących bezpośrednio z AOSP.
- Android Debug Bridge (adb)
- Narzędzie wiersza poleceń (
adb
), które umożliwia stacji roboczej komunikowanie się z urządzeniem wirtualnym, emulowanym przez oprogramowanie lub fizycznym. - Urządzenie zgodne z Androidem
- Urządzenie, na którym można uruchamiać dowolną aplikację innej firmy napisaną przez deweloperów zewnętrznych przy użyciu pakietów SDK i NDK na Androida. Urządzenia zgodne z Androidem muszą spełniać wymagania dokumentu CDD (Compatibility Definition Document) i przejść pakiet testów CTS (Compatibility Test Suite). Urządzenia zgodne z Androidem mogą uczestniczyć w ekosystemie Androida, który obejmuje potencjalne licencjonowanie Sklepu Google Play na Androida, potencjalne licencjonowanie pakietu Usług mobilnych Google (GMS), który zawiera aplikacje i interfejsy API, oraz używanie znaku towarowego Android. Każdy może korzystać z kodu źródłowego Androida, ale aby urządzenie było uznawane za część ekosystemu Androida, musi być z nim zgodne. Więcej informacji o zgodności i pakiecie CTS znajdziesz w omówieniu Programu zgodności z Androidem .
- Dokument definicji zgodności (CDD)
- Dokument zawierający listę wymagań dotyczących oprogramowania i sprzętu urządzenia zgodnego z Androidem.
- Współtwórca
Osoba, która wnosi wkład w kod źródłowy AOSP. Współtwórcami mogą być pracownicy Google, pracownicy innych firm i osoby niezwiązane z żadną firmą. Każdy współtwórca AOSP korzysta z tych samych narzędzi, przestrzega tego samego procesu sprawdzania kodu i podlega tym samym zasadom stylu kodowania. Nie musisz być współtwórcą, aby korzystać z AOSP. Możesz pobrać AOSP, zmodyfikować go pod kątem własnych potrzeb i wdrożyć na urządzeniu bez udostępniania kodu innym użytkownikom.
Istnieją ograniczenia dotyczące rodzaju kodu, który Google akceptuje. Możesz na przykład udostępnić alternatywny interfejs API aplikacji, np. pełne środowisko oparte na C++. Google odrzuci tę propozycję, ponieważ Android zachęca do uruchamiania aplikacji w środowisku wykonawczym ART. Podobnie Google nie akceptuje treści, takich jak biblioteki GPL lub LGPL, które są niezgodne z celami licencyjnymi.
Jeśli chcesz udostępnić kod źródłowy, skontaktuj się z Google przed rozpoczęciem pracy.
- Compatibility Test Suite (CTS)
Bezpłatny pakiet testów klasy komercyjnej, który można pobrać jako plik binarny lub jako kod źródłowy w AOSP. CTS to zestaw testów jednostkowych przeznaczonych do integracji z codziennym procesem pracy. Celem CTS jest wykrywanie niezgodności i zapewnianie, że oprogramowanie pozostanie kompatybilne przez cały proces rozwoju.
- Mątwa
Konfigurowalne wirtualne urządzenie z Androidem, które może działać zdalnie przy użyciu usług chmurowych innych firm, takich jak Google Cloud Engine, oraz lokalnie na komputerach z systemem Linux x86.
- Dla programistów
W kontekście AOSP programista to każda osoba, która w jakikolwiek sposób pracuje z AOSP. Termin „deweloper” jest używany w odniesieniu do różnych osób, które mogą czytać tę dokumentację, takich jak producenci oryginalnego sprzętu (OEM), producenci telefonów, operatorzy i twórcy układów SOC.
- Usługi mobilne Google (GMS)
Zbiór aplikacji i interfejsów API Google, które można wstępnie zainstalować na urządzeniach.
- Target
Wariant urządzenia, np. konkretny model lub kształt. Na przykład
aosp_cf_x86_64_only_phone-userdebug
reprezentuje telefon x86 o pojemności 65 MB z informacjami do debugowania, który jest przeznaczony do uruchamiania na emulatorze cuttlefish.
Filozofia zarządzania
Android został stworzony przez grupę firm o nazwie Open Handset Alliance (OHA), której liderem jest Google. Obecnie wiele firm – zarówno pierwotnych członków OHA, jak i innych – zainwestowało znaczne środki w Androida. Firmy te przeznaczyły znaczne zasoby inżynieryjne na ulepszanie Androida i wprowadzanie na rynek urządzeń z Androidem.
Firmy, które zainwestowały w Androida, zrobiły to, ponieważ uważają, że otwarta platforma jest niezbędna. Android jest celowo i wyraźnie projektem open source (w przeciwieństwie do wolnego oprogramowania). Grupa organizacji o podobnych potrzebach połączyła zasoby, aby współpracować nad jedną implementacją wspólnego produktu. Przede wszystkim filozofia Androida jest pragmatyczna. Cel to wspólny produkt, który każdy współtwórca może dostosować do swoich potrzeb.
Oczywiście niekontrolowane dostosowywanie może prowadzić do niezgodnych wdrożeń. Aby zapobiec niezgodności, w ramach Projektu Android Open Source (AOSP) prowadzony jest program zgodności z Androidem, który określa, co oznacza zgodność z Androidem i jakie wymagania muszą spełnić producenci urządzeń, aby uzyskać ten status. Każdy może używać kodu źródłowego Androida w dowolnym celu, a Google akceptuje wszystkie zgodne z prawem zastosowania. Aby jednak uczestniczyć we wspólnym ekosystemie aplikacji, który członkowie OHA tworzą wokół Androida, producenci urządzeń muszą brać udział w programie zgodności Androida.
AOSP jest rozwijany przez Google, który utrzymuje i ulepsza Androida. Chociaż Android składa się z wielu podprojektów, AOSP jest ściśle związany z zarządzaniem projektami. Google traktuje system Android jako jeden, kompleksowy produkt oprogramowania, a nie jako dystrybucję, specyfikację lub zbiór wymiennych części. Google chce, aby producenci urządzeń przenosili Androida na urządzenia, a nie wdrażali specyfikację ani nie przygotowywali dystrybucji.
Co dalej?
Jeśli dopiero zaczynasz pracę z AOSP i chcesz przejść samouczek dotyczący tworzenia aplikacji na tej platformie, skorzystaj z samouczka AOSP.
Jeśli uważasz, że Twoje urządzenie powinno być zgodne z Androidem, zapoznaj się z informacjami o Programie zgodności z Androidem.
Jeśli chcesz dowiedzieć się więcej o AOSP, w tym o udziale Google w tej platformie, przeczytaj najczęstsze pytania dotyczące AOSP.