Omówienie AOSP

Android to system operacyjny przeznaczony do szerokiej gamy urządzeń o różnych formach. Dokumentacja i kod źródłowy Androida są dostępne dla wszystkich jako projekt Android Open Source (AOSP). Za pomocą AOSP możesz tworzyć niestandardowe wersje systemu operacyjnego Android na własne urządzenia.

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ść. AOSP to pełny produkt dla deweloperów w jakości produkcyjnej z kodem źródłowym, który można dostosować i przenosić.

Ta sekcja dokumentacji pomaga nowym deweloperom AOSP rozpocząć pracę z tą platformą i wykonywać podstawowe zadania programistyczne.

Warunki wymagane

Poniżej znajduje się lista terminów i definicji stosowanych w dokumentacji Pierwsze kroki. Zanim przejdziesz dalej, zapoznaj się z każdą z definicji.

Deweloper aplikacji na Androida

Programiści aplikacji na Androida piszą aplikacje na Androida lub aplikacje działające na Androidzie. Deweloperzy aplikacji dzielą się na 2 grupy: deweloperów aplikacji własnych (własnych) i innych firm.

Deweloper aplikacji na Androida
Programista aplikacji na Androida, który ma dostęp do interfejsów AOSP System API i tworzy aplikacje uprzywilejowane oraz aplikacje producenta urządzenia.
Deweloper aplikacji zewnętrznych na Androida
Programista 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 developers.android.com. Informacje na tej stronie są przeznaczone wyłącznie dla osób, które współpracują bezpośrednio z AOSP.

Android Debug Bridge (adb)
Narzędzie wiersza poleceń (adb), które umożliwia komunikacji stacji roboczej z urządzeniem wirtualnym, emulowanym przez oprogramowanie lub fizycznym.
Urządzenie zgodne z Androidem
Urządzenie, na którym można uruchomić dowolną aplikację innej firmy napisaną przez zewnętrznych deweloperów za pomocą pakietu SDK i NDK Androida. Urządzenia zgodne z Androidem muszą spełniać wymagania określone w dokumentie definicji zgodności (CDD) i przejść pakiet testów zgodności (CTS). Urządzenia zgodne z Androidem mogą korzystać z ekosystemu Androida, który obejmuje potencjalne licencje na Sklep Google Play, potencjalne licencje na zestaw aplikacji i interfejsów API Google Mobile Services (GMS) oraz prawo do używania 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ć zgodne z Androidem. 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 wymagania dotyczące oprogramowania i sprzętu zgodnego z Androidem.
Współtwórca

Osoba, która wnosi swój wkład w kody źródłowe 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 musi przestrzegać tego samego stylu kodowania. Aby korzystać z AOSP, nie musisz być jego współtwórcą. Możesz pobrać AOSP, zmodyfikować go 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++. Google odrzuci tę propozycję, ponieważ Android zachęca do uruchamiania aplikacji w czasie działania ART. Google nie akceptuje również takich bibliotek jak GPL czy LGPL, które są niezgodne z celami licencjonowania.

Jeśli chcesz przekazać kod źródłowy, skontaktuj się z Google, zanim zaczniesz pracować.

Compatibility Test Suite (CTS)

Bezpłatny pakiet testów o jakości komercyjnej, który można pobrać w formie binarnej lub kodu źródłowego w AOSP. CTS to zestaw testów jednostkowych zaprojektowanych tak, aby można je było zintegrować z Twoim codziennym przepływem pracy. Test CTS ma na celu wykrywanie niezgodności i zapewnienie zgodności oprogramowania w całym procesie tworzenia.

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.

Programista

W kontekście AOSP programista to każda osoba, która w jakikolwiek sposób pracuje 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)

Kolekcja 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 to telefon x86 o rozmiarach 65 MB z informacjami debugowania, który ma działać na emulatorze cuttlefish.

Filozofia zarządzania

Liderem Google jest grupa firm znana jako Open Handset Alliance (OHA). Obecnie wiele firm – i pierwotnych członków OHA, i innych – zainwestowało znaczne środki w Androida. Te firmy przeznaczyły znaczne zasoby inżynierskie 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 typu open source (w przeciwieństwie do wolnego oprogramowania). Grupa organizacji o wspólnych potrzebach połączyła zasoby, aby współpracować przy jednej implementacji wspólnego produktu. Przede wszystkim filozofia Androida jest pragmatyczna. Cel to udostępniony produkt, który każdy współtwórca może dostosować do swoich potrzeb.

Oczywiście niekontrolowane dostosowywanie może prowadzić do niezgodnych implementacji. Aby zapobiec niezgodności, projekt Android Open Source (AOSP) prowadzi program zgodności z Androidem, który określa, co oznacza zgodność z Androidem i co jest wymagane od producentów urządzeń, aby uzyskać ten status. Każdy może używać kodu źródłowego Androida w dowolnym celu, a Google zaprasza do korzystania z niego w żadnym celu. Jednak aby wziąć udział we wspólnym ekosystemie aplikacji, które członkowie OHA tworzą wokół Androida, twórcy urządzeń muszą uczestniczyć 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 projektem. Google postrzega Androida jako jeden, kompleksowy produkt i nim zarządza, a nie jako dystrybucję, specyfikację czy zbiór wymiennych części. Intencją Google jest to, aby twórcy urządzeń przenosili Androida na konkretne urządzenie, ale nie implementują specyfikacji ani nie opracowują dystrybucji.

Co dalej?