Przegląd AOSP, przegląd AOSP

Android to system operacyjny dla szerokiej gamy urządzeń o różnych obudowach. Dokumentacja i kod źródłowy systemu Android są dostępne dla każdego w ramach projektu Android Open Source Project (AOSP) . Możesz używać AOSP do tworzenia niestandardowych wariantów systemu operacyjnego Android dla własnych urządzeń.

AOSP zaprojektowano tak, aby nie było centralnego punktu awarii, w którym jeden gracz branżowy ograniczałby lub kontrolował innowacje innego. Dlatego AOSP jest pełnym produktem deweloperskim o jakości produkcyjnej z kodem źródłowym otwartym do dostosowywania i przenoszenia.

Ta część dokumentacji pomaga nowym programistom AOSP rozpocząć pracę z platformą i wykonać niezbędne zadania programistyczne.

Wymagane warunki

Poniżej znajduje się lista terminów i definicji używanych w tej dokumentacji wprowadzającej. Powinieneś przestudiować każdą definicję, zanim przejdziesz dalej.

Twórca aplikacji na Androida

Twórcy aplikacji na Androida piszą aplikacje na Androida lub aplikacje działające na Androidzie. Istnieją dwie klasyfikacje twórców aplikacji: twórcy aplikacji własnych (1p) i twórcy aplikacji zewnętrznych (3p).

Twórca aplikacji na Androida 1p
Programista aplikacji na Androida, który ma dostęp do interfejsów API systemu AOSP i pisze aplikacje uprzywilejowane oraz aplikacje producentów urządzeń.
Twórca aplikacji na Androida 3p
Programista aplikacji na Androida, który do tworzenia aplikacji na Androida korzysta wyłącznie z publicznego zestawu SDK systemu Android.

Jeśli chcesz tworzyć aplikacje 3p dla Androida, odwiedź stronę developers.android.com . Informacje zawarte na tej stronie przeznaczone są wyłącznie dla osób pracujących bezpośrednio z AOSP.

Most debugowania Androida (ADB)
Narzędzie wiersza poleceń ( adb ), które umożliwia komunikację stacji roboczej z urządzeniem wirtualnym, emulowanym programowo lub fizycznym.
Urządzenie kompatybilne z Androidem
Urządzenie, na którym można uruchomić dowolną aplikację innej firmy napisaną przez zewnętrznych programistów przy użyciu zestawów SDK i NDK systemu Android. Urządzenia kompatybilne z Androidem muszą spełniać wymagania dokumentu definicji zgodności (CDD) i przejść pakiet testów zgodności (CTS) . Urządzenia zgodne z Androidem mogą uczestniczyć w ekosystemie Androida, co obejmuje potencjalną licencję na Android Play Store, potencjalną licencję na pakiet aplikacji i interfejsów API Google Mobile Services (GMS) oraz korzystanie ze znaku towarowego Android. Każdy może korzystać z kodu źródłowego Androida, ale aby urządzenie mogło zostać uznane za część ekosystemu Androida, musi być kompatybilne z Androidem. Więcej informacji na temat zgodności i CTS można znaleźć w omówieniu programu zgodności z systemem Android
Osoba zatwierdzająca
Doświadczeni członkowie społeczności AOSP, którzy wnieśli znaczący wkład techniczny i projektowy w platformę. W procesie przeglądu kodu osoba zatwierdzająca decyduje, czy uwzględnić zmianę. Liderzy projektów (zazwyczaj zatrudnieni przez Google) wybierają osoby zatwierdzające, czasami awansując weryfikatorów na stanowiska osób zatwierdzających, gdy wykażą się wiedzą specjalistyczną w określonej części AOSP.
Dokument definicji zgodności (CDD)
Dokument zawierający listę wymagań programowych i sprzętowych dla urządzenia zgodnego z systemem Android.
Współpracownik

Osoba, która również wnosi wkład w kod źródłowy AOSP. Współtwórcami mogą być pracownicy Google, pracownicy innych firm oraz osoby niepowiązane z firmą. Każdy współpracownik AOSP korzysta z tych samych narzędzi, przestrzega tego samego procesu przeglądu kodu i podlega temu samemu stylowi kodowania. Nie musisz być współtwórcą, aby korzystać z AOSP; możesz pobrać AOSP, zmodyfikować go do własnych potrzeb i wdrożyć na urządzeniu bez wnoszenia kodu, z którego będą mogli korzystać inni.

Istnieją ograniczenia dotyczące rodzaju przekazywanych kodów akceptowanych przez Google. Na przykład możesz chcieć udostępnić alternatywny interfejs API aplikacji, taki jak pełne środowisko oparte na języku C++. Google odrzuciłby ten wkład, ponieważ Android zachęca do uruchamiania aplikacji w środowisku wykonawczym ART. Podobnie Google nie akceptuje materiałów takich jak biblioteki GPL lub LGPL, które są niezgodne z celami licencyjnymi.

Jeśli jesteś zainteresowany udostępnieniem kodu źródłowego, skontaktuj się z Google przed rozpoczęciem pracy.

Zestaw testów zgodności (CTS)

Bezpłatny zestaw testów klasy komercyjnej, dostępny do pobrania w formacie binarnym lub jako źródło w AOSP. CTS to zestaw testów jednostkowych zaprojektowanych tak, aby można je było zintegrować z codziennym przepływem pracy. Zamiarem CTS jest ujawnienie niezgodności i zapewnienie kompatybilności oprogramowania przez cały proces rozwoju.

Mątwa

Konfigurowalne wirtualne urządzenie z systemem Android, które może działać zdalnie, korzystając z ofert chmurowych innych firm, takich jak Google Cloud Engine, oraz lokalnie na komputerach z systemem Linux x86.

Deweloper

W kontekście AOSP programistą jest każdy, kto w jakikolwiek sposób współpracuje z AOSP. Termin „programista” jest używany w ogólnym odniesieniu do różnych osób, które mogą czytać tę dokumentację, takich jak producenci oryginalnego sprzętu (OEM), producenci telefonów komórkowych, operatorzy i twórcy systemów typu System-on-a-Chip (SoC).

Usługi mobilne Google (GMS)

Zbiór aplikacji i interfejsów API Google, które można wstępnie zainstalować na urządzeniach.

Cel

Permutacja urządzenia, na przykład określony model lub obudowa. Na przykład aosp_cf_x86_64_phone-userdebug reprezentuje telefon x86 65MB z informacjami debugowania, który jest przeznaczony do działania na emulatorze mątwy.

Weryfikator

Ceniony współpracownik społeczności Androida, który pobiera i weryfikuje zmiany w AOSP. Po przesłaniu do AOSP dużej ilości wysokiej jakości kodu liderzy projektu mogą zaprosić Cię do zostania weryfikatorem.

Filozofia zarządzania

Androida stworzyła grupa firm znana jako Open Handset Alliance (OHA), na czele której stoi Google. Obecnie wiele firm — zarówno pierwotnych członków OHA, jak i innych — poczyniło znaczne inwestycje 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 konieczna. Android jest celowo i wyraźnie dziełem typu open source (w przeciwieństwie do wolnego oprogramowania); grupa organizacji o wspólnych potrzebach połączyła zasoby, aby współpracować nad pojedynczym wdrożeniem wspólnego produktu. Przede wszystkim filozofia Androida jest pragmatyczna. Celem jest wspólny produkt, który każdy współautor może dostosować i dostosować.

Oczywiście niekontrolowane dostosowywanie może prowadzić do niekompatybilnych implementacji. Aby zapobiec niezgodnościom, w ramach projektu Android Open Source Project (AOSP) utrzymuje się program zgodności z systemem Android , w którym opisano, co to znaczy być zgodnym z systemem Android i co jest wymagane od producentów urządzeń, aby osiągnąć ten stan. Każdy może używać kodu źródłowego Androida w dowolnym celu, a Google akceptuje wszelkie legalne zastosowania. Aby jednak móc wziąć udział we wspólnym ekosystemie aplikacji, które członkowie OHA tworzą wokół systemu Android, producenci urządzeń muszą uczestniczyć w programie zgodności z systemem Android.

AOSP jest prowadzony przez Google, który utrzymuje i rozwija Androida. Chociaż Android składa się z wielu podprojektów, AOSP to wyłącznie zarządzanie projektami. Google postrzega Androida i zarządza nim jako pojedynczym, całościowym oprogramowaniem, a nie dystrybucją, specyfikacją czy zbiorem części wymiennych. Zamiarem Google jest, aby twórcy urządzeń przenieśli Androida na urządzenie; nie wdrażają specyfikacji ani nie nadzorują dystrybucji.

Co dalej?

,

Android to system operacyjny dla szerokiej gamy urządzeń o różnych obudowach. Dokumentacja i kod źródłowy systemu Android są dostępne dla każdego w ramach projektu Android Open Source Project (AOSP) . Możesz używać AOSP do tworzenia niestandardowych wariantów systemu operacyjnego Android dla własnych urządzeń.

AOSP zaprojektowano tak, aby nie było centralnego punktu awarii, w którym jeden gracz branżowy ograniczałby lub kontrolował innowacje innego. Dlatego AOSP jest pełnym produktem deweloperskim o jakości produkcyjnej z kodem źródłowym otwartym do dostosowywania i przenoszenia.

Ta część dokumentacji pomaga nowym programistom AOSP rozpocząć pracę z platformą i wykonać niezbędne zadania programistyczne.

Wymagane warunki

Poniżej znajduje się lista terminów i definicji używanych w tej dokumentacji wprowadzającej. Powinieneś przestudiować każdą definicję, zanim przejdziesz dalej.

Twórca aplikacji na Androida

Twórcy aplikacji na Androida piszą aplikacje na Androida lub aplikacje działające na Androidzie. Istnieją dwie klasyfikacje twórców aplikacji: twórcy aplikacji własnych (1p) i twórcy aplikacji zewnętrznych (3p).

Twórca aplikacji na Androida 1p
Programista aplikacji na Androida, który ma dostęp do interfejsów API systemu AOSP i pisze aplikacje uprzywilejowane oraz aplikacje producentów urządzeń.
Twórca aplikacji na Androida 3p
Programista aplikacji na Androida, który do tworzenia aplikacji na Androida korzysta wyłącznie z publicznego zestawu SDK systemu Android.

Jeśli chcesz tworzyć aplikacje 3p dla Androida, odwiedź stronę developers.android.com . Informacje zawarte na tej stronie przeznaczone są wyłącznie dla osób pracujących bezpośrednio z AOSP.

Most debugowania Androida (ADB)
Narzędzie wiersza poleceń ( adb ), które umożliwia komunikację stacji roboczej z urządzeniem wirtualnym, emulowanym programowo lub fizycznym.
Urządzenie kompatybilne z Androidem
Urządzenie, na którym można uruchomić dowolną aplikację innej firmy napisaną przez zewnętrznych programistów przy użyciu zestawów SDK i NDK systemu Android. Urządzenia kompatybilne z Androidem muszą spełniać wymagania dokumentu definicji zgodności (CDD) i przejść pakiet testów zgodności (CTS) . Urządzenia zgodne z Androidem mogą uczestniczyć w ekosystemie Androida, co obejmuje potencjalną licencję na Android Play Store, potencjalną licencję na pakiet aplikacji i interfejsów API Google Mobile Services (GMS) oraz korzystanie ze znaku towarowego Android. Każdy może korzystać z kodu źródłowego Androida, ale aby urządzenie mogło zostać uznane za część ekosystemu Androida, musi być kompatybilne z Androidem. Więcej informacji na temat zgodności i CTS można znaleźć w omówieniu programu zgodności z systemem Android
Osoba zatwierdzająca
Doświadczeni członkowie społeczności AOSP, którzy wnieśli znaczący wkład techniczny i projektowy w platformę. W procesie przeglądu kodu osoba zatwierdzająca decyduje, czy uwzględnić zmianę. Liderzy projektów (zazwyczaj zatrudnieni przez Google) wybierają osoby zatwierdzające, czasami awansując weryfikatorów na stanowiska osób zatwierdzających, gdy wykażą się wiedzą specjalistyczną w określonej części AOSP.
Dokument definicji zgodności (CDD)
Dokument zawierający listę wymagań programowych i sprzętowych dla urządzenia zgodnego z systemem Android.
Współpracownik

Osoba, która również wnosi wkład w kod źródłowy AOSP. Współtwórcami mogą być pracownicy Google, pracownicy innych firm oraz osoby niepowiązane z firmą. Każdy współpracownik AOSP korzysta z tych samych narzędzi, przestrzega tego samego procesu przeglądu kodu i podlega temu samemu stylowi kodowania. Nie musisz być współtwórcą, aby korzystać z AOSP; możesz pobrać AOSP, zmodyfikować go do własnych potrzeb i wdrożyć na urządzeniu bez wnoszenia kodu, z którego będą mogli korzystać inni.

Istnieją ograniczenia dotyczące rodzaju przekazywanych kodów akceptowanych przez Google. Na przykład możesz chcieć udostępnić alternatywny interfejs API aplikacji, taki jak pełne środowisko oparte na języku C++. Google odrzuciłby ten wkład, ponieważ Android zachęca do uruchamiania aplikacji w środowisku wykonawczym ART. Podobnie Google nie akceptuje materiałów takich jak biblioteki GPL lub LGPL, które są niezgodne z celami licencyjnymi.

Jeśli jesteś zainteresowany udostępnieniem kodu źródłowego, skontaktuj się z Google przed rozpoczęciem pracy.

Zestaw testów zgodności (CTS)

Bezpłatny zestaw testów klasy komercyjnej, dostępny do pobrania w formacie binarnym lub jako źródło w AOSP. CTS to zestaw testów jednostkowych zaprojektowanych tak, aby można je było zintegrować z codziennym przepływem pracy. Zamiarem CTS jest ujawnienie niezgodności i zapewnienie kompatybilności oprogramowania przez cały proces rozwoju.

Mątwa

Konfigurowalne wirtualne urządzenie z systemem Android, które może działać zdalnie, korzystając z ofert chmurowych innych firm, takich jak Google Cloud Engine, oraz lokalnie na komputerach z systemem Linux x86.

Deweloper

W kontekście AOSP programistą jest każdy, kto w jakikolwiek sposób współpracuje z AOSP. Termin „programista” jest używany w ogólnym odniesieniu do różnych osób, które mogą czytać tę dokumentację, takich jak producenci oryginalnego sprzętu (OEM), producenci telefonów komórkowych, operatorzy i twórcy systemów typu System-on-a-Chip (SoC).

Usługi mobilne Google (GMS)

Zbiór aplikacji i interfejsów API Google, które można wstępnie zainstalować na urządzeniach.

Cel

Permutacja urządzenia, na przykład określony model lub obudowa. Na przykład aosp_cf_x86_64_phone-userdebug reprezentuje telefon x86 65MB z informacjami debugowania, który jest przeznaczony do działania na emulatorze mątwy.

Weryfikator

Ceniony współpracownik społeczności Androida, który pobiera i weryfikuje zmiany w AOSP. Po przesłaniu do AOSP dużej ilości wysokiej jakości kodu liderzy projektu mogą zaprosić Cię do zostania weryfikatorem.

Filozofia zarządzania

Androida stworzyła grupa firm znana jako Open Handset Alliance (OHA), na czele której stoi Google. Obecnie wiele firm — zarówno pierwotnych członków OHA, jak i innych — poczyniło znaczne inwestycje 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 konieczna. Android jest celowo i wyraźnie dziełem typu open source (w przeciwieństwie do wolnego oprogramowania); grupa organizacji o wspólnych potrzebach połączyła zasoby, aby współpracować nad pojedynczym wdrożeniem wspólnego produktu. Przede wszystkim filozofia Androida jest pragmatyczna. Celem jest wspólny produkt, który każdy współautor może dostosować i dostosować.

Oczywiście niekontrolowane dostosowywanie może prowadzić do niekompatybilnych implementacji. Aby zapobiec niezgodnościom, w ramach projektu Android Open Source Project (AOSP) utrzymuje się program zgodności z systemem Android , w którym opisano, co to znaczy być zgodnym z systemem Android i co jest wymagane od producentów urządzeń, aby osiągnąć ten stan. Każdy może używać kodu źródłowego Androida w dowolnym celu, a Google akceptuje wszelkie legalne zastosowania. Aby jednak móc wziąć udział we wspólnym ekosystemie aplikacji, które członkowie OHA tworzą wokół systemu Android, producenci urządzeń muszą uczestniczyć w programie zgodności z systemem Android.

AOSP jest prowadzony przez Google, który utrzymuje i rozwija Androida. Chociaż Android składa się z wielu podprojektów, AOSP to wyłącznie zarządzanie projektami. Google postrzega Androida i zarządza nim jako pojedynczym, całościowym oprogramowaniem, a nie dystrybucją, specyfikacją czy zbiorem części wymiennych. Zamiarem Google jest, aby twórcy urządzeń przenieśli Androida na urządzenie; nie wdrażają specyfikacji ani nie nadzorują dystrybucji.

Co dalej?