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.
Architektura otwartego oprogramowania w chmurze jest tak zaprojektowana, aby nie było centralnego punktu awarii, w którym jeden z graczy w branży ogranicza lub kontroluje innowacje innych. AOSP to kompletny produkt dla deweloperów w wersji 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.
Wymagane warunki
Poniżej znajduje się lista terminów i definicji używanych w dokumentacji Wprowadzenie. Zanim przejdziesz dalej, zapoznaj się z definicjami.
- Deweloper aplikacji na Androida
Programiści aplikacji na Androida piszą aplikacje na Androida lub aplikacje działające na Androidzie. Deweloperzy aplikacji są podzieleni na 2 kategorie: deweloperzy aplikacji własnych i deweloperzy aplikacji innych firm.
- Własny 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ętrznej na Androida
- Programista aplikacji na Androida, który do tworzenia aplikacji na Androida używa tylko 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 (Compatibility Test Suite, 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, który zawiera wymagania dotyczące oprogramowania i sprzętu dla urządzenia zgodnego z Androidem.
- Współtwórca
Osoba, która wnosi swój wkład w kreowanie kodu źródłowego AOSP. Współtwórcami mogą być pracownicy Google, pracownicy innych firm i osoby bez przynależności do firmy. Każdy współtwórca AOSP korzysta z 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.
Google akceptuje tylko określone typy kodu. 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 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, przed rozpoczęciem pracy skontaktuj się z Google.
- Zbiór testów zgodności (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.
- Kalamary
Konfigurowalne wirtualne urządzenie z systemem Android, które może działać zdalnie przy użyciu usług chmurowych innych firm, takich jak Google Cloud Engine, oraz lokalnie na maszynach z systemem Linux x86.
- Dla programistów
W kontekście AOSP deweloper to każda osoba, która w jakikolwiek sposób pracuje z AOSP. Termin „developer” (programista) jest używany w ogólnym znaczeniu 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)
Kolekcja aplikacji i interfejsów API Google, które można wstępnie zainstalować na urządzeniach.
- Target
Permutacja urządzenia, np. konkretny model lub format. Na przykład
aosp_cf_x86_64_phone-userdebug
to telefon x86 o rozmiary 65 MB z informacjami debugowania przeznaczonymi do użycia w emulatorze cuttlefish.
Filozofia zarządzania
Android został opracowany przez grupę firm, zwaną Open Handset Alliance (OHA), kierowaną przez Google. Obecnie wiele firm, zarówno pierwsi członkowie OHA, jak i inne, dużo inwestują 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 swoje 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. Aby jednak móc korzystać ze wspólnego ekosystemu aplikacji tworzonych przez członków OHA na platformie Android, producenci urządzeń muszą wziąć udział w programie zgodności z Androidem.
AOSP jest prowadzony przez Google, który obsługuje i dalej rozwija 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. Google chce, aby twórcy urządzeń przenosili Androida na urządzenie. Nie muszą oni implementować specyfikacji ani prowadzić dystrybucji.
Co dalej?
Jeśli dopiero zaczynasz korzystać z AOSP i chcesz zapoznać się z samouczkiem dotyczącym rozwoju aplikacji na AOSP, przejdź do samouczka AOSP.
Jeśli uważasz, że Twoje urządzenie powinno być zgodne z Androidem, zapoznaj się z programem zgodności z Androidem.
Jeśli chcesz dowiedzieć się więcej o tłem AOSP, w tym o udziale Google w tej platformie, zapoznaj się z najczęstszymi pytaniami na temat AOSP.