Najczęstsze pytania

Ta strona zawiera odpowiedzi na niektóre często zadawane pytania (FAQ).

Otwarte źródło

Co to jest projekt Open Source Androida?

Android Open Source Project (AOSP) odnosi się do ludzi, procesów i kodu źródłowego, które składają się na Androida.

Ludzie nadzorują projekt i rozwijają kod źródłowy. Procesy to narzędzia i procedury, których używamy do zarządzania rozwojem oprogramowania. Rezultatem jest kod źródłowy, którego można używać w telefonach komórkowych i innych urządzeniach.

Dlaczego otworzyliśmy kod źródłowy Androida?

Google rozpoczął projekt Android w odpowiedzi na nasze własne doświadczenia z uruchamianiem aplikacji mobilnych. Chcieliśmy mieć pewność, że operatorzy, producenci OEM i programiści zawsze będą mieli dostęp do otwartej platformy, z której będą mogli urzeczywistniać swoje innowacyjne pomysły. Chcieliśmy również uniknąć centralnego punktu niepowodzenia, aby żaden pojedynczy gracz z branży nie mógł ograniczać ani kontrolować innowacji jakiegokolwiek innego. Naszym najważniejszym celem w AOSP jest upewnienie się, że oprogramowanie typu open source dla Androida jest wdrażane najszerzej i kompatybilnie, jak to tylko możliwe, z korzyścią dla wszystkich.

Jakim rodzajem projektu open source jest Android?

Google nadzoruje rozwój podstawowej platformy open source Androida i pracuje nad tworzeniem solidnych społeczności programistów i użytkowników. W większości kod źródłowy Androida jest objęty licencją na liberalnej licencji Apache 2.0, a nie na licencji typu copyleft . Wybraliśmy licencję Apache 2.0, ponieważ wierzymy, że zachęca ona do powszechnej adopcji oprogramowania na Androida. Aby uzyskać szczegółowe informacje, zobacz Licencje .

Dlaczego Google odpowiada za Androida?

Uruchomienie platformy oprogramowania jest złożone. Otwartość ma kluczowe znaczenie dla długoterminowego sukcesu platformy, ponieważ przyciąga inwestycje deweloperów i zapewnia równe szanse. Platforma musi być również atrakcyjnym produktem dla użytkowników.

Firma Google zaangażowała profesjonalne zasoby inżynieryjne niezbędne do zapewnienia, że ​​Android jest w pełni konkurencyjną platformą oprogramowania. Google traktuje projekt Androida jako pełnowymiarową operację rozwoju produktu i zawiera umowy biznesowe niezbędne do tego, by świetne urządzenia z Androidem trafiły na rynek.

Dbając o to, by Android odniósł sukces wśród użytkowników, pomagamy zapewnić witalność Androida jako platformy i jako projektu open source. W końcu kto chce kod źródłowy do nieudanego produktu?

Celem Google jest zapewnienie udanego ekosystemu wokół Androida. Otworzyliśmy kod źródłowy Androida, aby każdy mógł modyfikować i rozpowszechniać oprogramowanie zgodnie z własnymi potrzebami.

Jaka jest ogólna strategia Google dotycząca rozwoju produktów na Androida?

Wprowadzamy świetne urządzenia na konkurencyjny rynek. Następnie wprowadzamy innowacje i ulepszenia, które wprowadziliśmy do podstawowej platformy jako następną wersję.

W praktyce oznacza to, że zespół inżynierów Androida skupia się na niewielkiej liczbie „flagowych” urządzeń i opracowuje kolejną wersję oprogramowania Androida, aby wspierać te premiery produktów. Te flagowe urządzenia pochłaniają większość ryzyka związanego z produktem i wyznaczają szlak dla szerokiej społeczności OEM, która wprowadza kolejne urządzenia wykorzystujące nowe funkcje. W ten sposób upewniamy się, że platforma Android ewoluuje zgodnie z potrzebami rzeczywistych urządzeń.

Jak powstaje oprogramowanie dla Androida?

Każda wersja platformy Android (taka jak 1.5 lub 8.1) ma odpowiednią gałąź w drzewie open source. Najnowsza gałąź jest uważana za aktualną stabilną wersję gałęzi. Jest to gałąź, którą producenci przenoszą na swoje urządzenia. Ta gałąź jest zawsze gotowa do wydania.

Jednocześnie istnieje obecna gałąź eksperymentalna , w której opracowywane są spekulacyjne wkłady, takie jak duże funkcje nowej generacji. Poprawki błędów i inne wkłady mogą być zawarte w aktualnej gałęzi stabilnej z gałęzi eksperymentalnej, jeśli to konieczne.

Wreszcie Google pracuje nad kolejną wersją platformy Android równolegle z rozwojem flagowego urządzenia. Ta gałąź pobiera odpowiednio zmiany z gałęzi eksperymentalnej i stabilnej.

Aby uzyskać szczegółowe informacje na temat linii kodu, rozgałęzień i wydań, zobacz Zarządzanie kodem AOSP .

Dlaczego części Androida są opracowywane prywatnie?

Wprowadzenie urządzenia na rynek zajmuje zwykle ponad rok. I oczywiście producenci urządzeń chcą dostarczać najnowsze oprogramowanie, jakie tylko mogą. Tymczasem programiści nie chcą stale śledzić nowych wersji platformy podczas pisania aplikacji. Obie grupy doświadczają napięcia między wysyłaniem produktów a brakiem chęci pozostania w tyle.

Aby temu zaradzić, niektóre części następnej wersji Androida, w tym interfejsy API platformy podstawowej, są opracowywane w prywatnym oddziale. Te interfejsy API stanowią kolejną wersję Androida. Naszym celem jest skupienie uwagi na aktualnej stabilnej wersji kodu źródłowego Androida podczas tworzenia kolejnej wersji platformy. Dzięki temu programiści i producenci OEM mogą korzystać z jednej wersji bez śledzenia niedokończonych przyszłych prac, aby nadążyć. Inne części systemu Android, które nie są związane z kompatybilnością aplikacji, są opracowywane w sposób otwarty. Naszym zamiarem jest przeniesienie większej liczby tych części do otwartego rozwoju w miarę upływu czasu.

Kiedy pojawiają się wydania kodu źródłowego?

Kiedy będą gotowe. Wydanie kodu źródłowego jest dość złożonym procesem. Niektóre części Androida są rozwijane w sposób otwarty, a kod źródłowy jest zawsze dostępny. Inne części są opracowywane najpierw w prywatnym drzewie, a kod źródłowy jest udostępniany, gdy kolejna wersja platformy jest gotowa.

W przypadku niektórych wydań interfejsy API platformy podstawowej są gotowe z dużym wyprzedzeniem, abyśmy mogli wypchnąć kod źródłowy w celu wczesnej oceny przed wydaniem urządzenia. W innych wersjach nie jest to możliwe. We wszystkich przypadkach udostępniamy źródło platformy, gdy uważamy, że wersja jest stabilna i gdy pozwala na to proces rozwoju.

Co wiąże się z wydaniem kodu źródłowego dla nowej wersji Androida?

Wydanie kodu źródłowego dla nowej wersji platformy Android to ważny proces. Po pierwsze, oprogramowanie jest wbudowane w obraz systemu urządzenia i przechodzi różne formy certyfikacji, w tym certyfikację rządową dla regionów, w których telefony zostaną wdrożone. Kod przechodzi również testy operatorskie. Jest to ważna faza procesu, ponieważ pomaga wykryć błędy w oprogramowaniu.

Gdy wydanie zostanie zatwierdzone przez organy regulacyjne i operatorów, producent rozpoczyna masową produkcję urządzeń, a my zaczynamy udostępniać kod źródłowy.

Równocześnie z masową produkcją zespół Google rozpoczyna szereg prac nad przygotowaniem wersji open source. Działania te obejmują dokonanie ostatecznych zmian API, aktualizację dokumentacji (na przykład w celu odzwierciedlenia wszelkich modyfikacji wprowadzonych podczas testów kwalifikacyjnych), przygotowanie zestawu SDK dla nowej wersji oraz uruchomienie informacji o kompatybilności platformy.

Nasz zespół prawny dokonuje ostatecznego zatwierdzenia, aby udostępnić kod jako oprogramowanie typu open source. Podobnie jak współtwórcy oprogramowania typu open source są zobowiązani do podpisania umowy licencyjnej współtwórcy potwierdzającej ich własność intelektualną do ich wkładu, tak Google musi sprawdzić, czy źródło jest upoważnione do wnoszenia wkładów.

Od momentu rozpoczęcia masowej produkcji proces wydania oprogramowania trwa zwykle około miesiąca, więc wydania kodu źródłowego często mają miejsce mniej więcej w tym samym czasie, gdy urządzenia trafiają do użytkowników.

W jaki sposób AOSP odnosi się do programu zgodności z systemem Android?

Android Open Source Project utrzymuje oprogramowanie Androida i opracowuje nowe wersje. Ponieważ jest to oprogramowanie typu open source, to oprogramowanie może być używane do dowolnych celów, w tym do opracowywania urządzeń, które nie są kompatybilne z innymi urządzeniami opartymi na tym samym źródle.

Zadaniem programu zgodności z systemem Android jest zdefiniowanie podstawowej implementacji systemu Android, która jest kompatybilna z aplikacjami innych firm napisanymi przez programistów. Urządzenia zgodne z Androidem mogą uczestniczyć w ekosystemie Androida, w tym w Google Play; urządzenia, które nie spełniają wymagań zgodności, istnieją poza tym ekosystemem.

Innymi słowy, program zgodności z Androidem to sposób, w jaki oddzielamy urządzenia kompatybilne z Androidem od urządzeń, które jedynie uruchamiają pochodne kodu źródłowego. Akceptujemy wszelkie zastosowania kodu źródłowego Androida, ale aby uczestniczyć w ekosystemie Androida, urządzenie musi zostać zidentyfikowane przez program jako kompatybilne z Androidem.

Jak mogę przyczynić się do rozwoju Androida?

Możesz zgłaszać błędy, pisać aplikacje na Androida lub współtworzyć kod źródłowy Android Open Source Project.

Istnieją ograniczenia co do rodzajów kodu, który akceptujemy. Na przykład ktoś może chcieć wnieść alternatywny interfejs API aplikacji, taki jak pełne środowisko oparte na C++. Odrzucilibyśmy ten wkład, ponieważ Android zachęca aplikacje do uruchamiania w środowisku wykonawczym ART. Podobnie nie będziemy akceptować wkładów, takich jak biblioteki GPL lub LGPL, które są niezgodne z naszymi celami licencyjnymi.

Zachęcamy osoby zainteresowane współdzieleniem kodu źródłowego do skontaktowania się z nami za pośrednictwem kanałów wymienionych na stronie Android Community przed rozpoczęciem jakichkolwiek prac. Aby uzyskać szczegółowe informacje, zobacz Przyczynianie się .

Jak zostać autorem Androida?

Android Open Source Project tak naprawdę nie ma pojęcia o committerze . Wszystkie wkłady (w tym te autorstwa pracowników Google) przechodzą przez internetowy system o nazwie Gerrit, który jest częścią procesu inżynierii Androida. Ten system współpracuje z systemem zarządzania kodem źródłowym git, aby w przejrzysty sposób zarządzać wkładem w kod źródłowy.

Po przesłaniu zmiany muszą zostać zaakceptowane przez wyznaczoną osobę zatwierdzającą. Osoby zatwierdzające to zazwyczaj pracownicy Google, ale te same osoby są odpowiedzialne za wszystkie zgłoszenia, niezależnie od ich pochodzenia.

Aby uzyskać szczegółowe informacje, zobacz Wysyłanie poprawek .

Powrót do góry

Zgodność

Co to jest „kompatybilność” Androida?

Definiujemy urządzenie zgodne z Androidem jako takie, na którym można uruchomić dowolną aplikację napisaną przez zewnętrznych programistów przy użyciu Android SDK i NDK. Używamy tego jako filtru do oddzielania urządzeń, które mogą uczestniczyć w ekosystemie aplikacji na Androida, od tych, które nie mogą. W przypadku urządzeń, które są odpowiednio kompatybilne, producenci urządzeń mogą ubiegać się o zgodę na używanie znaku towarowego Android. Urządzenia, które nie są kompatybilne, pochodzą z kodu źródłowego Androida i nie mogą używać znaku towarowego Android.

Innymi słowy, kompatybilność jest warunkiem uczestnictwa w ekosystemie aplikacji na Androida. Każdy może korzystać z kodu źródłowego Androida. Ale jeśli urządzenie nie jest zgodne, nie jest uważane za część ekosystemu Androida.

Jaka jest rola Google Play w kompatybilności?

Producenci urządzeń z urządzeniami zgodnymi z Androidem mogą ubiegać się o licencję na oprogramowanie klienckie Google Play. Licencjonowane urządzenia stają się częścią ekosystemu aplikacji na Androida, umożliwiając ich użytkownikom pobieranie aplikacji programistów z katalogu współdzielonego przez wszystkie kompatybilne urządzenia. Licencjonowanie nie jest dostępne dla niekompatybilnych urządzeń.

Jakie rodzaje urządzeń mogą być kompatybilne z Androidem?

Oprogramowanie Androida można przenosić na wiele różnych urządzeń, w tym na takie, na których aplikacje innych firm nie będą działały poprawnie. Dokument definicji zgodności z systemem Android (CDD) określa określone konfiguracje urządzeń, które są uważane za zgodne.

Na przykład, chociaż kod źródłowy Androida można przenieść na telefon, który nie ma aparatu, CDD wymaga, aby wszystkie telefony miały aparat. Dzięki temu programiści mogą polegać na spójnym zestawie możliwości podczas pisania aplikacji.

CDD nadal ewoluuje, aby odzwierciedlać realia rynkowe. Na przykład wersja 1.6 CDD obsługuje tylko telefony komórkowe. Ale wersja 2.1 pozwala urządzeniom pominąć sprzęt telefoniczny, umożliwiając kompatybilność urządzeń innych niż telefony, takich jak odtwarzacze muzyczne w stylu tabletów. Wprowadzając te zmiany, będziemy również rozszerzać Google Play, aby umożliwić programistom zachowanie kontroli nad tym, gdzie są dostępne ich aplikacje. Kontynuując przykład z telefonią, aplikacja zarządzająca wiadomościami SMS nie jest przydatna w odtwarzaczu multimedialnym, więc Google Play umożliwia programistom ograniczenie tej aplikacji wyłącznie do urządzeń telefonicznych.

Jeśli moje urządzenie jest kompatybilne, czy automatycznie uzyskuje dostęp do Google Play i brandingu?

Nie. Dostęp nie jest automatyczny. Google Play to usługa obsługiwana przez Google. Osiągnięcie kompatybilności jest warunkiem wstępnym uzyskania dostępu do oprogramowania i brandingu Google Play. Gdy urządzenie zostanie zakwalifikowane jako zgodne z Androidem , producent urządzenia powinien wypełnić formularz kontaktowy zawarty w licencji na Usługi mobilne Google , aby uzyskać dostęp do Google Play. Skontaktujemy się, jeśli będziemy mogli Ci pomóc.

Jeśli nie jestem producentem, jak mogę uzyskać dostęp do Google Play?

Google Play jest licencjonowany tylko dla producentów telefonów wysyłających urządzenia. W przypadku pytań dotyczących konkretnych przypadków napisz na adres android-partnerships@google.com .

Jak mogę uzyskać dostęp do aplikacji Google na Androida, takich jak Mapy?

Aplikacje Google na Androida, takie jak YouTube, Mapy Google i Gmail, to usługi Google, które nie są częścią Androida i są objęte oddzielną licencją. Pytania dotyczące tych aplikacji można kierować na adres android-partnerships@google.com .

Czy kompatybilność jest obowiązkowa?

Nie. Program zgodności z systemem Android jest opcjonalny. Kod źródłowy Androida jest otwarty, więc każdy może go użyć do zbudowania dowolnego urządzenia. Jeśli jednak producenci chcą używać nazwy Android w swoich produktach lub chcą uzyskać dostęp do Google Play, muszą najpierw wykazać, że ich urządzenia są kompatybilne .

Ile kosztuje certyfikacja zgodności?

Uzyskanie zgodności urządzenia z systemem Android nie wiąże się z żadnymi kosztami. Compatibility Test Suite jest open source i jest dostępny dla każdego do testowania urządzeń.

Jak długo trwa kompatybilność?

Proces jest zautomatyzowany. Compatibility Test Suite generuje raport, który można przesłać do Google w celu zweryfikowania zgodności. Docelowo zamierzamy udostępnić samoobsługowe narzędzia do przesyłania tych raportów do publicznej bazy danych.

Kto określa definicję zgodności?

Firma Google jest odpowiedzialna za ogólny kierunek Androida jako platformy i produktu, dlatego firma Google przechowuje dokument definicji zgodności (CDD) dla każdej wersji. Opracowujemy projekt CDD dla nowej wersji Androida w porozumieniu z różnymi producentami OEM, którzy zapewniają wkład.

Jak długo każda wersja Androida będzie obsługiwana na nowych urządzeniach?

Kod Androida jest open source, więc nie możemy zabronić komuś używania starej wersji do uruchamiania urządzenia. Zamiast tego Google postanawia nie udzielać licencji na oprogramowanie klienckie Google Play do użytku w wersjach, które są uważane za przestarzałe. Dzięki temu każdy może nadal dostarczać stare wersje Androida, ale te urządzenia nie będą używać nazwy Androida i będą istnieć poza ekosystemem aplikacji na Androida, tak jakby nie były kompatybilne.

Czy urządzenie może mieć inny interfejs użytkownika i nadal być kompatybilne?

Program zgodności z systemem Android określa, czy na urządzeniu można uruchamiać aplikacje innych firm. Elementy interfejsu użytkownika dostarczane z urządzeniem (takie jak ekran główny, dialer i schemat kolorów) zazwyczaj nie mają większego wpływu na aplikacje innych firm. W związku z tym konstruktorzy urządzeń mogą swobodnie dostosowywać interfejs użytkownika. Dokument definicji zgodności ogranicza zakres, w jakim producenci OEM mogą zmieniać interfejs użytkownika systemu w obszarach, które mają wpływ na aplikacje innych firm.

Kiedy zostaną opublikowane definicje zgodności dla nowych wersji Androida?

Naszym celem jest opublikowanie nowej wersji dokumentu definicji zgodności z systemem Android (CDD), gdy odpowiednia wersja platformy Android będzie wystarczająco zbieżna, aby na to pozwolić. Chociaż nie możemy opublikować ostatecznej wersji CDD dla wersji oprogramowania Android przed dostarczeniem pierwszego flagowego urządzenia z tym oprogramowaniem, ostateczne CDD są zawsze wydawane po pierwszym urządzeniu. Jednak tam, gdzie jest to możliwe, publikujemy wersje robocze CDD.

W jaki sposób weryfikowane są deklaracje zgodności producentów urządzeń?

Nie ma procesu sprawdzania zgodności urządzeń z systemem Android. Jeśli jednak urządzenie ma zawierać Google Play, Google zazwyczaj sprawdza kompatybilność urządzenia przed wyrażeniem zgody na udzielenie licencji na oprogramowanie klienckie Google Play.

Co się stanie, jeśli później okaże się, że urządzenie, które deklaruje zgodność, ma problemy ze zgodnością?

Zazwyczaj relacje Google z licencjobiorcami Google Play pozwalają nam prosić producenta urządzenia o udostępnienie zaktualizowanych obrazów systemu, które rozwiązują problemy.

Powrót do góry

Pakiet testów zgodności

Jaki jest cel CTS?

Compatibility Test Suite to narzędzie używane przez producentów urządzeń w celu upewnienia się, że ich urządzenia są zgodne, oraz do zgłaszania wyników testów w celu weryfikacji. CTS ma być często uruchamiany przez producentów OEM w całym procesie inżynieryjnym, aby wcześnie wykryć problemy ze zgodnością.

Jakie rodzaje rzeczy bada CTS?

CTS obecnie sprawdza, czy wszystkie obsługiwane interfejsy API systemu Android z silnym typem są obecne i działają poprawnie. Testuje również inne zachowania systemowe niezwiązane z API, takie jak cykl życia aplikacji i wydajność. Planujemy dodać obsługę w przyszłych wersjach CTS do testowania miękkich interfejsów API, takich jak Intents.

Czy raporty CTS zostaną upublicznione?

Tak. Chociaż obecnie nie jest to wdrożone, Google zamierza udostępnić samoobsługowe narzędzia internetowe dla producentów OEM w celu publikowania raportów CTS, aby każdy mógł je przeglądać. Producenci mogą udostępniać raporty CTS tak szerokiej publiczności, jak im się podoba.

Jak licencjonowany jest CTS?

CTS jest licencjonowany na podstawie tej samej licencji Apache Software License 2.0, z której korzysta większość Androida.

Czy CTS przyjmuje datki?

Tak proszę! Android Open Source Project akceptuje wkład w ulepszanie CTS, tak jak w przypadku każdego innego komponentu. W rzeczywistości poprawa zasięgu i jakości przypadków testowych CTS jest jednym z najlepszych sposobów pomocy Androidowi.

Czy każdy może używać CTS na istniejących urządzeniach?

Dokument definicji zgodności wymaga, aby kompatybilne urządzenia implementowały narzędzie do debugowania adb . Oznacza to, że każde kompatybilne urządzenie (w tym dostępne w sprzedaży detalicznej) musi być w stanie przeprowadzić testy CTS.

Czy kodeki są weryfikowane przez CTS?

Tak. Wszystkie obowiązkowe kodeki są weryfikowane przez CTS.

powrót do góry ,

Ta strona zawiera odpowiedzi na niektóre często zadawane pytania (FAQ).

Otwarte źródło

Co to jest projekt Open Source Androida?

Android Open Source Project (AOSP) odnosi się do ludzi, procesów i kodu źródłowego, które składają się na Androida.

Ludzie nadzorują projekt i rozwijają kod źródłowy. Procesy to narzędzia i procedury, których używamy do zarządzania rozwojem oprogramowania. Rezultatem jest kod źródłowy, którego można używać w telefonach komórkowych i innych urządzeniach.

Dlaczego otworzyliśmy kod źródłowy Androida?

Google rozpoczął projekt Android w odpowiedzi na nasze własne doświadczenia z uruchamianiem aplikacji mobilnych. Chcieliśmy mieć pewność, że operatorzy, producenci OEM i programiści zawsze będą mieli dostęp do otwartej platformy, z której będą mogli urzeczywistniać swoje innowacyjne pomysły. Chcieliśmy również uniknąć centralnego punktu niepowodzenia, aby żaden pojedynczy gracz z branży nie mógł ograniczać ani kontrolować innowacji jakiegokolwiek innego. Naszym najważniejszym celem w AOSP jest upewnienie się, że oprogramowanie typu open source dla Androida jest wdrażane najszerzej i kompatybilnie, jak to tylko możliwe, z korzyścią dla wszystkich.

Jakim rodzajem projektu open source jest Android?

Google nadzoruje rozwój podstawowej platformy open source Androida i pracuje nad tworzeniem solidnych społeczności programistów i użytkowników. W większości kod źródłowy Androida jest objęty licencją na liberalnej licencji Apache 2.0, a nie na licencji typu copyleft . Wybraliśmy licencję Apache 2.0, ponieważ wierzymy, że zachęca ona do powszechnej adopcji oprogramowania na Androida. Aby uzyskać szczegółowe informacje, zobacz Licencje .

Dlaczego Google odpowiada za Androida?

Uruchomienie platformy oprogramowania jest złożone. Otwartość ma kluczowe znaczenie dla długoterminowego sukcesu platformy, ponieważ przyciąga inwestycje deweloperów i zapewnia równe szanse. Platforma musi być również atrakcyjnym produktem dla użytkowników.

Firma Google zaangażowała profesjonalne zasoby inżynieryjne niezbędne do zapewnienia, że ​​Android jest w pełni konkurencyjną platformą oprogramowania. Google traktuje projekt Androida jako pełnowymiarową operację rozwoju produktu i zawiera umowy biznesowe niezbędne do tego, by świetne urządzenia z Androidem trafiły na rynek.

Dbając o to, by Android odniósł sukces wśród użytkowników, pomagamy zapewnić witalność Androida jako platformy i jako projektu open source. W końcu kto chce kod źródłowy do nieudanego produktu?

Celem Google jest zapewnienie udanego ekosystemu wokół Androida. Otworzyliśmy kod źródłowy Androida, aby każdy mógł modyfikować i rozpowszechniać oprogramowanie zgodnie z własnymi potrzebami.

Jaka jest ogólna strategia Google dotycząca rozwoju produktów na Androida?

Wprowadzamy świetne urządzenia na konkurencyjny rynek. Następnie wprowadzamy innowacje i ulepszenia, które wprowadziliśmy do podstawowej platformy jako następną wersję.

W praktyce oznacza to, że zespół inżynierów Androida skupia się na niewielkiej liczbie „flagowych” urządzeń i opracowuje kolejną wersję oprogramowania Androida, aby wspierać te premiery produktów. Te flagowe urządzenia pochłaniają większość ryzyka związanego z produktem i wyznaczają szlak dla szerokiej społeczności OEM, która wprowadza kolejne urządzenia wykorzystujące nowe funkcje. W ten sposób upewniamy się, że platforma Android ewoluuje zgodnie z potrzebami rzeczywistych urządzeń.

Jak powstaje oprogramowanie dla Androida?

Każda wersja platformy Android (taka jak 1.5 lub 8.1) ma odpowiednią gałąź w drzewie open source. Najnowsza gałąź jest uważana za aktualną stabilną wersję gałęzi. Jest to gałąź, którą producenci przenoszą na swoje urządzenia. Ta gałąź jest zawsze gotowa do wydania.

Jednocześnie istnieje obecna gałąź eksperymentalna , w której opracowywane są spekulacyjne wkłady, takie jak duże funkcje nowej generacji. Poprawki błędów i inne wkłady mogą być zawarte w aktualnej gałęzi stabilnej z gałęzi eksperymentalnej, jeśli to konieczne.

Wreszcie Google pracuje nad kolejną wersją platformy Android równolegle z rozwojem flagowego urządzenia. Ta gałąź pobiera odpowiednio zmiany z gałęzi eksperymentalnej i stabilnej.

Aby uzyskać szczegółowe informacje na temat linii kodu, rozgałęzień i wydań, zobacz Zarządzanie kodem AOSP .

Dlaczego części Androida są opracowywane prywatnie?

Wprowadzenie urządzenia na rynek zajmuje zwykle ponad rok. I oczywiście producenci urządzeń chcą dostarczać najnowsze oprogramowanie, jakie tylko mogą. Tymczasem programiści nie chcą stale śledzić nowych wersji platformy podczas pisania aplikacji. Obie grupy doświadczają napięcia między wysyłaniem produktów a brakiem chęci pozostania w tyle.

Aby temu zaradzić, niektóre części następnej wersji Androida, w tym interfejsy API platformy podstawowej, są opracowywane w prywatnym oddziale. Te interfejsy API stanowią kolejną wersję Androida. Naszym celem jest skupienie uwagi na aktualnej stabilnej wersji kodu źródłowego Androida podczas tworzenia kolejnej wersji platformy. Dzięki temu programiści i producenci OEM mogą korzystać z jednej wersji bez śledzenia niedokończonych przyszłych prac, aby nadążyć. Inne części systemu Android, które nie są związane z kompatybilnością aplikacji, są opracowywane w sposób otwarty. Naszym zamiarem jest przeniesienie większej liczby tych części do otwartego rozwoju w miarę upływu czasu.

Kiedy pojawiają się wydania kodu źródłowego?

Kiedy będą gotowe. Wydanie kodu źródłowego jest dość złożonym procesem. Niektóre części Androida są rozwijane w sposób otwarty, a kod źródłowy jest zawsze dostępny. Inne części są opracowywane najpierw w prywatnym drzewie, a kod źródłowy jest udostępniany, gdy kolejna wersja platformy jest gotowa.

W przypadku niektórych wydań interfejsy API platformy podstawowej są gotowe z dużym wyprzedzeniem, abyśmy mogli wypchnąć kod źródłowy w celu wczesnej oceny przed wydaniem urządzenia. W innych wersjach nie jest to możliwe. We wszystkich przypadkach udostępniamy źródło platformy, gdy uważamy, że wersja jest stabilna i gdy pozwala na to proces rozwoju.

Co wiąże się z wydaniem kodu źródłowego dla nowej wersji Androida?

Wydanie kodu źródłowego dla nowej wersji platformy Android to ważny proces. Po pierwsze, oprogramowanie jest wbudowane w obraz systemu urządzenia i przechodzi różne formy certyfikacji, w tym certyfikację rządową dla regionów, w których telefony zostaną wdrożone. Kod przechodzi również testy operatorskie. Jest to ważna faza procesu, ponieważ pomaga wykryć błędy w oprogramowaniu.

Gdy wydanie zostanie zatwierdzone przez organy regulacyjne i operatorów, producent rozpoczyna masową produkcję urządzeń, a my zaczynamy udostępniać kod źródłowy.

Równocześnie z masową produkcją zespół Google rozpoczyna szereg prac nad przygotowaniem wersji open source. Działania te obejmują dokonanie ostatecznych zmian API, aktualizację dokumentacji (na przykład w celu odzwierciedlenia wszelkich modyfikacji wprowadzonych podczas testów kwalifikacyjnych), przygotowanie zestawu SDK dla nowej wersji oraz uruchomienie informacji o kompatybilności platformy.

Nasz zespół prawny dokonuje ostatecznego zatwierdzenia, aby udostępnić kod jako oprogramowanie typu open source. Podobnie jak współtwórcy oprogramowania typu open source są zobowiązani do podpisania umowy licencyjnej współtwórcy potwierdzającej ich własność intelektualną do ich wkładu, tak Google musi sprawdzić, czy źródło jest upoważnione do wnoszenia wkładów.

Od momentu rozpoczęcia masowej produkcji proces wydania oprogramowania trwa zwykle około miesiąca, więc wydania kodu źródłowego często mają miejsce mniej więcej w tym samym czasie, gdy urządzenia trafiają do użytkowników.

W jaki sposób AOSP odnosi się do programu zgodności z systemem Android?

Android Open Source Project utrzymuje oprogramowanie Androida i opracowuje nowe wersje. Ponieważ jest to oprogramowanie typu open source, to oprogramowanie może być używane do dowolnych celów, w tym do opracowywania urządzeń, które nie są kompatybilne z innymi urządzeniami opartymi na tym samym źródle.

Zadaniem programu zgodności z systemem Android jest zdefiniowanie podstawowej implementacji systemu Android, która jest kompatybilna z aplikacjami innych firm napisanymi przez programistów. Urządzenia zgodne z Androidem mogą uczestniczyć w ekosystemie Androida, w tym w Google Play; urządzenia, które nie spełniają wymagań zgodności, istnieją poza tym ekosystemem.

Innymi słowy, program zgodności z Androidem to sposób, w jaki oddzielamy urządzenia kompatybilne z Androidem od urządzeń, które jedynie uruchamiają pochodne kodu źródłowego. Akceptujemy wszelkie zastosowania kodu źródłowego Androida, ale aby uczestniczyć w ekosystemie Androida, urządzenie musi zostać zidentyfikowane przez program jako kompatybilne z Androidem.

Jak mogę przyczynić się do rozwoju Androida?

Możesz zgłaszać błędy, pisać aplikacje na Androida lub współtworzyć kod źródłowy Android Open Source Project.

Istnieją ograniczenia co do rodzajów kodu, który akceptujemy. Na przykład ktoś może chcieć wnieść alternatywny interfejs API aplikacji, taki jak pełne środowisko oparte na C++. Odrzucilibyśmy ten wkład, ponieważ Android zachęca aplikacje do uruchamiania w środowisku wykonawczym ART. Podobnie nie będziemy akceptować wkładów, takich jak biblioteki GPL lub LGPL, które są niezgodne z naszymi celami licencyjnymi.

Zachęcamy osoby zainteresowane współdzieleniem kodu źródłowego do skontaktowania się z nami za pośrednictwem kanałów wymienionych na stronie Android Community przed rozpoczęciem jakichkolwiek prac. Aby uzyskać szczegółowe informacje, zobacz Przyczynianie się .

Jak zostać autorem Androida?

Android Open Source Project tak naprawdę nie ma pojęcia o committerze . Wszystkie wkłady (w tym te autorstwa pracowników Google) przechodzą przez internetowy system o nazwie Gerrit, który jest częścią procesu inżynierii Androida. Ten system współpracuje z systemem zarządzania kodem źródłowym git, aby w przejrzysty sposób zarządzać wkładem w kod źródłowy.

Po przesłaniu zmiany muszą zostać zaakceptowane przez wyznaczoną osobę zatwierdzającą. Osoby zatwierdzające to zazwyczaj pracownicy Google, ale te same osoby są odpowiedzialne za wszystkie zgłoszenia, niezależnie od ich pochodzenia.

Aby uzyskać szczegółowe informacje, zobacz Wysyłanie poprawek .

Powrót do góry

Zgodność

Co to jest „kompatybilność” Androida?

Definiujemy urządzenie zgodne z Androidem jako takie, na którym można uruchomić dowolną aplikację napisaną przez zewnętrznych programistów przy użyciu Android SDK i NDK. Używamy tego jako filtru do oddzielania urządzeń, które mogą uczestniczyć w ekosystemie aplikacji na Androida, od tych, które nie mogą. W przypadku urządzeń, które są odpowiednio kompatybilne, producenci urządzeń mogą ubiegać się o zgodę na używanie znaku towarowego Android. Urządzenia, które nie są kompatybilne, pochodzą z kodu źródłowego Androida i nie mogą używać znaku towarowego Android.

Innymi słowy, kompatybilność jest warunkiem uczestnictwa w ekosystemie aplikacji na Androida. Każdy może korzystać z kodu źródłowego Androida. Ale jeśli urządzenie nie jest zgodne, nie jest uważane za część ekosystemu Androida.

Jaka jest rola Google Play w kompatybilności?

Producenci urządzeń z urządzeniami zgodnymi z Androidem mogą ubiegać się o licencję na oprogramowanie klienckie Google Play. Licencjonowane urządzenia stają się częścią ekosystemu aplikacji na Androida, umożliwiając ich użytkownikom pobieranie aplikacji programistów z katalogu współdzielonego przez wszystkie kompatybilne urządzenia. Licencjonowanie nie jest dostępne dla niekompatybilnych urządzeń.

Jakie rodzaje urządzeń mogą być kompatybilne z Androidem?

Oprogramowanie Androida można przenosić na wiele różnych urządzeń, w tym na takie, na których aplikacje innych firm nie będą działały poprawnie. Dokument definicji zgodności z systemem Android (CDD) określa określone konfiguracje urządzeń, które są uważane za zgodne.

Na przykład, chociaż kod źródłowy Androida można przenieść na telefon, który nie ma aparatu, CDD wymaga, aby wszystkie telefony miały aparat. Dzięki temu programiści mogą polegać na spójnym zestawie możliwości podczas pisania aplikacji.

CDD nadal ewoluuje, aby odzwierciedlać realia rynkowe. Na przykład wersja 1.6 CDD obsługuje tylko telefony komórkowe. Ale wersja 2.1 pozwala urządzeniom pominąć sprzęt telefoniczny, umożliwiając kompatybilność urządzeń innych niż telefony, takich jak odtwarzacze muzyczne w stylu tabletów. Wprowadzając te zmiany, będziemy również rozszerzać Google Play, aby umożliwić programistom zachowanie kontroli nad tym, gdzie są dostępne ich aplikacje. Kontynuując przykład z telefonią, aplikacja zarządzająca wiadomościami SMS nie jest przydatna w odtwarzaczu multimedialnym, więc Google Play umożliwia programistom ograniczenie tej aplikacji wyłącznie do urządzeń telefonicznych.

Jeśli moje urządzenie jest kompatybilne, czy automatycznie uzyskuje dostęp do Google Play i brandingu?

Nie. Dostęp nie jest automatyczny. Google Play to usługa obsługiwana przez Google. Osiągnięcie kompatybilności jest warunkiem wstępnym uzyskania dostępu do oprogramowania i brandingu Google Play. Gdy urządzenie zostanie zakwalifikowane jako zgodne z Androidem , producent urządzenia powinien wypełnić formularz kontaktowy zawarty w licencji na Usługi mobilne Google , aby uzyskać dostęp do Google Play. Skontaktujemy się, jeśli będziemy mogli Ci pomóc.

Jeśli nie jestem producentem, jak mogę uzyskać dostęp do Google Play?

Google Play jest licencjonowany tylko dla producentów telefonów wysyłających urządzenia. W przypadku pytań dotyczących konkretnych przypadków napisz na adres android-partnerships@google.com .

Jak mogę uzyskać dostęp do aplikacji Google na Androida, takich jak Mapy?

Aplikacje Google na Androida, takie jak YouTube, Mapy Google i Gmail, to usługi Google, które nie są częścią Androida i są objęte oddzielną licencją. Pytania dotyczące tych aplikacji można kierować na adres android-partnerships@google.com .

Czy kompatybilność jest obowiązkowa?

Nie. Program zgodności z systemem Android jest opcjonalny. Kod źródłowy Androida jest otwarty, więc każdy może go użyć do zbudowania dowolnego urządzenia. Jeśli jednak producenci chcą używać nazwy Android w swoich produktach lub chcą uzyskać dostęp do Google Play, muszą najpierw wykazać, że ich urządzenia są kompatybilne .

Ile kosztuje certyfikacja zgodności?

Uzyskanie zgodności urządzenia z systemem Android nie wiąże się z żadnymi kosztami. The Compatibility Test Suite is open source and available to anyone for device testing.

How long does compatibility take?

The process is automated. The Compatibility Test Suite generates a report that can be provided to Google to verify compatibility. Eventually we intend to provide self-service tools to upload these reports to a public database.

Who determines the compatibility definition?

Google is responsible for the overall direction of Android as a platform and product, so Google maintains the Compatibility Definition Document (CDD) for each release. We draft the CDD for a new Android version in consultation with various OEMs who provide input.

How long will each Android version be supported for new devices?

Android's code is open source, so we can't prevent someone from using an old version to launch a device. Instead, Google chooses not to license the Google Play client software for use on versions that are considered obsolete. This allows anyone to continue to ship old versions of Android, but those devices won't use the Android name and exist outside of the Android apps ecosystem, just as if they weren't compatible.

Can a device have a different user interface and still be compatible?

The Android Compatibility Program determines whether a device can run third-party applications. The user interface components shipped with a device (such as home screen, dialer, and color scheme) don't generally have much effect on third-party apps. As such, device builders are free to customize the user interface. The Compatibility Definition Document restricts the degree to which OEMs are permitted to alter the system user interface for areas that impact third-party apps.

When are compatibility definitions released for new Android versions?

Our goal is to release a new version of the Android Compatibility Definition Document (CDD) when the corresponding Android platform version has converged enough to permit it. While we can't release a final draft of a CDD for an Android software version before the first flagship device ships with that software, final CDDs are always released after the first device. However, wherever practical we release draft versions of CDDs.

How are device manufacturers' compatibility claims validated?

There is no validation process for Android device compatibility. However, if the device is to include Google Play, Google typically validates the device for compatibility before agreeing to license the Google Play client software.

What happens if a device that claims compatibility is later found to have compatibility problems?

Typically, Google's relationships with Google Play licensees allow us to ask the device manufacturer to release updated system images that fix the problems.

Back to top

Compatibility Test Suite

What's the purpose of the CTS?

The Compatibility Test Suite is a tool used by device manufacturers to help ensure that their devices are compatible, and to report test results for validations. The CTS is intended to be run frequently by OEMs throughout the engineering process to catch compatibility issues early.

What kinds of things does the CTS test?

The CTS currently tests that all of the supported Android strong-typed APIs are present and behave correctly. It also tests other non-API system behaviors such as application lifecycle and performance. We plan to add support in future CTS versions to test soft APIs such as Intents.

Will the CTS reports be made public?

Yes. While not currently implemented, Google intends to provide web-based self-service tools for OEMs to publish CTS reports so that anyone can view them. Manufacturers can share CTS reports with as wide an audience as they like.

How is the CTS licensed?

The CTS is licensed under the same Apache Software License 2.0 that the bulk of Android uses.

Does the CTS accept contributions?

Yes, please! The Android Open Source Project accepts contributions to improve the CTS just as for any other component. In fact, improving the coverage and quality of the CTS test cases is one of the best ways to help Android.

Can anyone use the CTS on existing devices?

The Compatibility Definition Document requires that compatible devices implement the adb debugging utility. This means that any compatible device (including those available at retail) must be able to run the CTS tests.

Are codecs verified by CTS?

Yes. All mandatory codecs are verified by CTS.

Back to top