Omówienie AOSP

Android to system operacyjny przeznaczony na wiele różnych urządzeń o różnych formatach. Dokumentacja i kod źródłowy Androida są dostępne dla wszystkich użytkowników projektu Android Open Source Project (AOSP). Za pomocą AOSP możesz tworzyć niestandardowe warianty systemu operacyjnego Android na potrzeby swoich urządzeń.

AOSP zaprojektowano tak, aby nie wystąpił centralny punkt awarii, w ramach której jeden gracz ogranicza innowacje w innej branży lub kontroluje jej innowacyjność. Oznacza to, że AOSP to kompleksowa usługa dla deweloperów o wysokiej jakości produkcyjnej z otwartym kodem źródłowym, którą można dostosowywać i przenosić.

Ta sekcja dokumentacji ułatwia nowym deweloperom AOSP rozpoczęcie korzystania z platformy i wykonywanie najważniejszych zadań programistycznych.

Warunki wymagane

Poniżej znajduje się lista terminów i definicji używanych w tej dokumentacji wprowadzającej. Zapoznaj się z każdą z definicji, zanim przejdziesz dalej.

Deweloper aplikacji na Androida

Deweloperzy aplikacji na Androida piszą aplikacje na Androida lub aplikacje, które działają na tym systemie. Deweloperzy aplikacji dzielą się na 2 grupy: deweloperów aplikacji własnych (własnych) i innych firm.

Deweloper aplikacji na Androida 1p
Deweloper aplikacji na Androida, który ma dostęp do systemowych interfejsów API AOSP i pisze aplikacje z podwyższonymi uprawnieniami oraz aplikacje producenta urządzenia.
Deweloper aplikacji na Androida 3p
Deweloper aplikacji na Androida, który tworzy aplikacje na Androida wyłącznie za pomocą publicznego pakietu SDK na Androida

Jeśli chcesz tworzyć aplikacje innych firm na Androida, wejdź na stronę developers.android.com. Informacje na tej stronie są przeznaczone wyłącznie dla osób współpracujących bezpośrednio z firmą 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 urządzeniem fizycznym.
Urządzenie zgodne z Androidem
Urządzenie, na którym można uruchomić dowolną aplikację innej firmy napisaną przez zewnętrznych deweloperów przy użyciu pakietu Android SDK i NDK. Urządzenia zgodne z Androidem muszą spełniać wymagania opisane w Dokumentie definicji zgodności (CDD) i przejść Zgodność z pakietem CTS. Urządzenia zgodne z Androidem mogą uczestniczyć w ekosystemie Androida, który obejmuje potencjalną licencję na Sklep Play, potencjalną licencję na pakiet aplikacji i interfejsów API Usług mobilnych Google (GMS) oraz używanie znaku towarowego Android. Każdy może używać kodu źródłowego Androida, ale urządzenie, które może być częścią ekosystemu tego systemu, musi być zgodne z tym systemem. Więcej informacji o zgodności i CTS znajdziesz w omówieniu Programu zgodności Androida
.
Dokument definicji zgodności (CDD)
Dokument zawierający wymagania dotyczące oprogramowania i sprzętu zgodnego z Androidem.
Współtwórca

Osoba, która uwzględnia treści w kodzie źródłowym AOSP. Współtwórcy mogą być pracownikami Google, pracownikami innych firm oraz osobami niepowiązanymi z firmą. Każdy współtwórca AOSP używa tych samych narzędzi, stosuje ten sam proces weryfikacji kodu i podlega temu samemu stylowi kodowania. Nie trzeba być współtwórcą, aby korzystać z AOSP. Można je pobrać, zmodyfikować zgodnie z własnymi potrzebami i wdrożyć na urządzeniu bez udostępniania kodu innym osobom.

Istnieją ograniczenia dotyczące typów treści przesyłanych przez Google za pomocą kodu. Możesz na przykład udostępnić alternatywny interfejs API aplikacji, taki jak pełne środowisko oparte na C++. Firma Google odmówiłaby przekazania darowizny, ponieważ Android zachęca do uruchamiania aplikacji w środowisku wykonawczym ART. Google nie akceptuje też treści takich jak biblioteki spółek spółki handlu elektronicznego i biblioteki LGPL, które są niezgodne z celami związanymi z licencjonowaniem.

Jeśli chcesz współtworzyć kod źródłowy, skontaktuj się z Google przed rozpoczęciem pracy.

Compatibility Test Suite (CTS)

Bezpłatny komercyjny pakiet testów dostępny do pobrania w postaci plików binarnych lub jako źródło w AOSP. CTS to zestaw testów jednostkowych zaprojektowanych tak, aby można było zintegrować je z codziennym przepływem pracy. Celem CTS jest wykrycie niezgodności i zapewnienie zgodności oprogramowania przez cały proces programowania.

Mątwa

Konfigurowalne wirtualne urządzenie z Androidem, które może działać zdalnie przy użyciu rozwiązań chmurowych innych firm, np. Google Cloud Engine, i lokalnie na komputerach x86 z systemem Linux.

Deweloper

W kontekście AOSP programista to każda osoba, która w jakikolwiek sposób korzysta z AOSP. Termin „deweloper” odnosi się ogólnie 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

Permutacja urządzenia, na przykład konkretny model lub format. Na przykład aosp_cf_x86_64_phone-userdebug reprezentuje telefon x86 o pojemności 65 MB z informacjami debugowania, które mają działać w emulatorze mątwy.

Filozofia zarządzania

Liderem Google jest grupa firm znana jako Open Handset Alliance (OHA). Obecnie wiele firm – zarówno pierwotnych członków OHA, jak i inne – poczyniło znaczne inwestycje w Androida. Firmy te przeznaczyły znaczne zasoby techniczne na ulepszanie Androida i wprowadzanie urządzeń z Androidem na rynek.

Firmy, które zainwestowały w Androida, robią to, ponieważ uważają, że otwarta platforma jest niezbędna. Android to celowo i wyraźnie projekt open source (w odróżnieniu od bezpłatnego oprogramowania), a grupa organizacji o wspólnych potrzebach stworzyła pulę zasobów, aby wspólnie pracować nad wdrożeniem wspólnej usługi. Przede wszystkim filozofia Androida jest pragmatyczna. Celem jest wspólny produkt, który każdy współtwórca może dostosować i dostosować do swoich potrzeb.

Oczywiście niekontrolowane dostosowywanie może prowadzić do niezgodnych implementacji. Aby zapobiec niezgodności, w ramach projektu Android Open Source Project (AOSP) prowadzi Program zgodności z Androidem, w którym omówiono zgodność z Androidem i wyjaśniono w nim, co jest wymagane do uzyskania zgodności z Androidem. Każdy może wykorzystać kod źródłowy Androida w dowolnym celu, a Google dopuszcza wszelkie dozwolone przypadki użycia. Jednak aby wziąć udział we wspólnym ekosystemie aplikacji, które członkowie OHA tworzą wokół Androida, twórcy urządzeń muszą wziąć udział w Programie zgodności z Androidem.

Platforma AOSP jest prowadzona przez firmę Google, która zajmuje się obsługą i dalszym rozwojem Androida. Chociaż Android składa się z wielu podprojektów, AOSP to ściśle zarządzanie projektami. Google traktuje Androida i zarządza nim jako jeden, kompleksowy produkt programowy, a nie jako dystrybucję, specyfikację czy zbiór wymiennych części. W związku z zamierzeniem Google twórcy urządzeń mają w ten sposób możliwość przenoszenia Androida na swoje urządzenie, a nie implementują specyfikacji ani nie opracowują dystrybucji.

Co dalej?