Android to system operacyjny przeznaczony na wiele 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). Za pomocą AOSP możesz tworzyć niestandardowe warianty systemu operacyjnego Android na własne urządzenia.
AOSP został zaprojektowany tak, aby nie było centralnego punktu awarii, w którym jeden gracz z branży ogranicza lub kontroluje innowacje innego. Dlatego AOSP to pełnoprawny produkt dla deweloperów o jakości produkcyjnej, którego kod źródłowy można dostosowywać i przenosić.
Ta sekcja dokumentacji pomoże nowym deweloperom AOSP rozpocząć pracę z platformą i wykonywać podstawowe zadania związane z tworzeniem oprogramowania.
Wymagane terminy
Poniżej znajdziesz listę terminów i definicji używanych w dokumentacji dla początkujących. Zanim przejdziesz dalej, zapoznaj się z każdą definicją.
- Deweloper aplikacji na Androida
Deweloperzy aplikacji na Androida piszą aplikacje na Androida lub aplikacje, które działają na Androidzie. Istnieją 2 rodzaje deweloperów aplikacji: deweloperzy aplikacji własnych (1p) i deweloperzy aplikacji innych firm (3p).
- Deweloper aplikacji własnych na Androida
- Deweloper aplikacji na Androida, który ma dostęp do interfejsów API systemu AOSP i pisze aplikacje z uprawnieniami oraz aplikacje producenta urządzenia.
- Deweloper aplikacji innych firm na Androida
- Deweloper aplikacji na Androida, który do tworzenia aplikacji na Androida używa wyłącznie publicznego pakietu Android SDK.
Jeśli chcesz tworzyć aplikacje innych firm na Androida, zapoznaj się z informacjami na stronie
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 programowo lub urządzeniem fizycznym. - Urządzenie zgodne z Androidem
- Urządzenie, na którym można uruchamiać dowolną aplikację innej firmy napisaną przez deweloperów innych firm za pomocą pakietu Android SDK i NDK. Urządzenia zgodne z Androidem muszą spełniać wymagania dokumentu definicji zgodności (CDD) i przejść testy pakietu CTS (Compatibility Test Suite). Urządzenia zgodne z Androidem mogą uczestniczyć w ekosystemie Androida, co obejmuje potencjalną licencję na Sklep Google Play, potencjalną licencję na pakiet aplikacji i interfejsów API Usług mobilnych Google (GMS) oraz możliwość używania znaku towarowego Android. Każdy może używać kodu źródłowego Androida, ale aby urządzenie było uważane 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 systemem Android
- Dokument definicji zgodności (CDD)
- Dokument, który zawiera wymagania dotyczące 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 używa tych samych narzędzi, stosuje ten sam proces inspekcji kodu i podlega tym samym zasadom stylu kodowania. Aby korzystać z AOSP, nie musisz być współtwórcą. Możesz pobrać AOSP, zmodyfikować go na własne potrzeby i wdrożyć na urządzeniu bez wnoszenia kodu do użytku przez inne osoby.
Istnieją ograniczenia dotyczące rodzaju kodu, który Google akceptuje. Możesz na przykład chcieć wnieść wkład w postaci alternatywnego interfejsu API aplikacji, takiego jak pełne środowisko oparte na C++. Google odrzuci taki wkład, ponieważ Android zachęca do uruchamiania aplikacji w środowisku wykonawczym ART. Podobnie Google nie akceptuje wkładów takich jak biblioteki GPL lub LGPL, które są niezgodne z celami licencyjnymi.
Jeśli chcesz wnieść wkład w postaci kodu źródłowego, przed rozpoczęciem pracy skontaktuj się z Google.
- Compatibility Test Suite (CTS)
Bezpłatny, komercyjny zestaw testów, dostępny do pobrania jako plik binarny lub jako kod źródłowy w AOSP. CTS to zestaw testów jednostkowych, które można zintegrować z codziennym procesem pracy. Celem CTS jest wykrywanie niezgodności i zapewnienie, że oprogramowanie pozostanie zgodne przez cały proces tworzenia.
- Cuttlefish
Konfigurowalne wirtualne urządzenie z Androidem, które może działać zdalnie, korzystając z usług chmurowych innych firm, takich jak Google Cloud Engine, oraz lokalnie na maszynach z systemem Linux x86.
- Deweloper
W kontekście AOSP deweloper 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
Permutacja urządzenia, np. konkretny model lub kształt. Na przykład
aosp_cf_x86_64_only_phone-userdebugoznacza telefon x86 o pojemności 65 MB z informacjami na potrzeby debugowania, który jest przeznaczony do działania na emulatorze Cuttlefish.
Filozofia zarządzania
Android został stworzony przez grupę firm znaną jako Open Handset Alliance (OHA), której liderem jest Google. Obecnie wiele firm – zarówno pierwotnych członków OHA, jak i innych – zainwestowało duże środki w Androida. Firmy te przeznaczyły znaczne zasoby inżynieryjne na ulepszenie Androida i wprowadzenie urządzeń z Androidem na rynek.
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 bezpłatnego oprogramowania). Grupa organizacji o wspólnych potrzebach połączyła zasoby, aby współpracować nad jedną implementacją wspólnego produktu. Przede wszystkim filozofia Androida jest pragmatyczna. Celem jest wspólny produkt, który każdy współtwórca może dostosować i spersonalizować.
Oczywiście niekontrolowane dostosowywanie może prowadzić do niezgodnych implementacji. Aby zapobiec niezgodności, Projekt Android Open Source (AOSP) utrzymuje program zgodności z Androidem, który określa, co oznacza zgodność z Androidem i jakie wymagania muszą spełnić producenci urządzeń, aby osiągnąć 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ą uczestniczyć w Programie zgodności z Androidem.
AOSP jest prowadzony przez Google, który utrzymuje i rozwija Androida. Chociaż Android składa się z wielu podprojektów, AOSP jest ściśle związany z zarządzaniem projektami. Google postrzega Androida i zarządza nim jako pojedynczym, holistycznym produktem oprogramowania, a nie jako dystrybucją, specyfikacją lub zbiorem wymiennych części. Google chce, aby producenci urządzeń przenosili Androida na urządzenia, a nie implementowali specyfikację ani nie tworzyli dystrybucji.
Co dalej?
Jeśli dopiero zaczynasz pracę z AOSP i chcesz przejść samouczek dotyczący tworzenia oprogramowania w AOSP, przejdź do samouczka AOSP.
Jeśli uważasz, że Twoje urządzenie musi być zgodne z Androidem, zapoznaj się z Programem zgodności z Androidem.
Jeśli chcesz dowiedzieć się więcej o historii AOSP, w tym o udziale Google'a w platformie, przeczytaj najczęstsze pytania dotyczące AOSP.