Najczęstsze pytania

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

Otwarte źródło

Czym jest projekt Android Open Source?

Android Open Source Project (AOSP) odnosi się do osób, procesów i kodu źródłowego, które tworzą system Android.

Ludzie nadzorują projekt i opracowują kod źródłowy. Procesy to narzędzia i procedury, których używamy do zarządzania rozwojem oprogramowania. Wynikiem netto 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ęło projekt Android w odpowiedzi na nasze własne doświadczenia z uruchamianiem aplikacji mobilnych. Chcieliśmy mieć pewność, że zawsze będzie dostępna otwarta platforma dla przewoźników, producentów OEM i programistów, aby ich innowacyjne pomysły stały się rzeczywistością. Chcieliśmy również uniknąć centralnego punktu awarii, aby żaden pojedynczy gracz w branży nie mógł ograniczać ani kontrolować innowacji innego. Naszym najważniejszym celem w AOSP jest upewnienie się, że oprogramowanie open source dla Androida jest wdrażane tak szeroko i zgodnie, jak to możliwe, z korzyścią dla wszystkich.

Jakim projektem open source jest Android?

Google nadzoruje rozwój podstawowej platformy Androida typu open source i pracuje nad tworzeniem solidnych społeczności programistów i użytkowników. W większości przypadków kod źródłowy Androida jest licencjonowany na podstawie permisywnej licencji Apache License 2.0, a nie licencji typu copyleft . Wybraliśmy licencję Apache 2.0, ponieważ wierzymy, że zachęca ona do powszechnego przyjęcia 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 operację rozwoju produktu na pełną skalę i zawiera umowy biznesowe niezbędne do tego, aby świetne urządzenia z Androidem trafiły na rynek.

Upewniając się, że Android odniesie sukces wśród użytkowników, pomagamy zapewnić witalność Androida jako platformy i projektu open source. W końcu kto chce kodu źródłowego 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 dla systemu Android?

Wprowadzamy świetne urządzenia na konkurencyjny rynek. Następnie wprowadzamy innowacje i ulepszenia, które wprowadziliśmy do podstawowej platformy w kolejnej wersji.

W praktyce oznacza to, że zespół inżynierów ds. Androida skupia się na niewielkiej liczbie „flagowych” urządzeń i opracowuje kolejną wersję oprogramowania dla systemu Android, która będzie obsługiwała te produkty. Te flagowe urządzenia pochłaniają większość ryzyka związanego z produktem i przecierają szlaki szerokiej społeczności OEM, która dołącza do większej liczby urządzeń korzystających z nowych funkcji. W ten sposób upewniamy się, że platforma Android ewoluuje zgodnie z potrzebami urządzeń świata rzeczywistego.

Jak powstaje oprogramowanie na Androida?

Każda platformowa wersja systemu Android (na przykład 1.5 lub 8.1) ma odpowiednią gałąź w drzewie open source. Najnowsza gałąź jest uważana za obecną stabilną wersję gałęzi. To gałąź, którą producenci przenoszą na swoje urządzenia. Ta gałąź jest zawsze gotowa do wydania.

Jednocześnie istnieje aktualna gałąź eksperymentalna , w której rozwijany jest wkład spekulacyjny, taki jak duże funkcje nowej generacji. Poprawki błędów i inne wkłady mogą być uwzględnione w aktualnej stabilnej gałęzi z gałęzi eksperymentalnej.

Wreszcie Google pracuje nad kolejną wersją platformy Android w parze z rozwojem flagowego urządzenia. Ta gałąź pobiera odpowiednio zmiany z gałęzi eksperymentalnych i stabilnych.

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

Dlaczego części Androida są opracowywane prywatnie?

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

Aby rozwiązać ten problem, niektóre części następnej wersji Androida, w tym podstawowe interfejsy API platformy, są opracowywane w prywatnym oddziale. Te interfejsy API stanowią kolejną wersję Androida. Naszym celem jest skupienie uwagi na obecnej 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 ze zgodnością aplikacji, są rozwijane w sposób otwarty. Naszym zamiarem jest przeniesienie z czasem większej liczby tych części do otwartego rozwoju.

Kiedy publikowane są wydania kodu źródłowego?

Kiedy będą gotowi. Wydanie kodu źródłowego to dość złożony proces. Niektóre części Androida są opracowywane 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 publikowany, gdy kolejna wersja platformy jest gotowa.

W niektórych wydaniach podstawowe interfejsy API platformy są gotowe na tyle wcześniej, że możemy wypchnąć kod źródłowy w celu wcześniejszego zapoznania się z nim przed wydaniem urządzenia. W innych wydaniach 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 nowej wersji Androida?

Wydanie kodu źródłowego nowej wersji platformy Android to ważny proces. Po pierwsze, oprogramowanie jest wbudowane w obraz systemu urządzenia i poddawane różnym formom certyfikacji, w tym certyfikacji rządowej dla regionów, w których telefony będą wdrażane. Kod przechodzi również testy operatorskie. Jest to ważna faza procesu, ponieważ pomaga wykryć błędy oprogramowania.

Kiedy 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ównolegle do masowej produkcji, zespół Google rozpoczyna kilka prac nad przygotowaniem wydania open source. Wysiłki te obejmują dokonanie ostatecznych zmian API, aktualizację dokumentacji (w celu odzwierciedlenia wszelkich modyfikacji, które zostały wprowadzone na przykład podczas testów kwalifikacyjnych), przygotowanie SDK dla nowej wersji oraz uruchomienie informacji o kompatybilności platformy.

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

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

Jak AOSP odnosi się do programu zgodności z Androidem?

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

Funkcja programu zgodności z systemem Android polega na zdefiniowaniu podstawowej implementacji systemu Android, która jest zgodna 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 uruchamiają jedynie pochodne kodu źródłowego. Z zadowoleniem przyjmujemy wszystkie przypadki użycia kodu źródłowego Androida, ale aby uczestniczyć w ekosystemie Androida, urządzenie musi zostać zidentyfikowane przez program jako zgodne z Androidem.

Jak mogę przyczynić się do rozwoju Androida?

Możesz zgłaszać błędy, pisać aplikacje dla systemu Android lub wnosić kod źródłowy do projektu Android Open Source Project.

Istnieją ograniczenia w zakresie akceptowanych przez nas wkładów w kod. 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 do uruchamiania aplikacji 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 licencjonowania.

Zachęcamy osoby zainteresowane przesyłaniem kodu źródłowego do skontaktowania się z nami za pośrednictwem kanałów wymienionych na stronie społeczności Androida przed rozpoczęciem jakichkolwiek prac. Aby uzyskać szczegółowe informacje, zobacz Wkład .

Jak zostać twórcą Androida?

Projekt Android Open Source tak naprawdę nie ma pojęcia o autorze . Wszystkie treści (w tym te autorstwa pracowników Google) przechodzą przez system internetowy znany jako Gerrit, który jest częścią procesu inżynieryjnego Androida. Ten system działa w parze z systemem zarządzania kodem źródłowym git, aby czysto zarządzać wkładem kodu źródłowego.

Złożone zmiany muszą zostać zaakceptowane przez wyznaczonego zatwierdzającego. Osoby zatwierdzające to zazwyczaj pracownicy Google, ale za wszystkie zgłoszenia odpowiadają te same osoby zatwierdzające, niezależnie od ich pochodzenia.

Szczegółowe informacje zawiera sekcja Przesyłanie poprawek .

Powrót do góry

Zgodność

Co to jest „zgodność” z Androidem?

Definiujemy urządzenie kompatybilne z Androidem jako takie, które może uruchamiać 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 zgodne, producenci urządzeń mogą uzyskać zgodę na używanie znaku towarowego Android. Urządzenia, które nie są zgodne, pochodzą z kodu źródłowego Androida i nie mogą używać znaku towarowego Android.

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

Jaka jest rola Google Play w zakresie zgodności?

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

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

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

Na przykład, chociaż kod źródłowy Androida może być przeniesiony do telefonu, który nie ma aparatu, CDD wymaga, aby wszystkie telefony miały aparat. Dzięki temu deweloperzy mogą polegać na spójnym zestawie funkcji podczas pisania swoich aplikacji.

CDD nadal ewoluuje, aby odzwierciedlić realia rynkowe. Na przykład wersja 1.6 CDD obsługuje tylko telefony komórkowe. Jednak wersja 2.1 pozwala urządzeniom pomijać sprzęt telefoniczny, dzięki czemu urządzenia niebędące telefonami, takie jak odtwarzacze muzyki typu tablet, mogą być kompatybilne. Wprowadzając te zmiany, będziemy też rozszerzać Google Play, aby umożliwić programistom zachowanie kontroli nad tym, gdzie są dostępne ich aplikacje. Kontynuując przykład telefonii, aplikacja zarządzająca SMS-ami nie jest przydatna w odtwarzaczu multimedialnym, więc Google Play pozwala programiście ograniczyć tę aplikację wyłącznie do urządzeń telefonicznych.

Jeśli moje urządzenie jest zgodne, czy automatycznie ma dostęp do Google Play i marki?

Nie. Dostęp nie jest automatyczny. Google Play to usługa obsługiwana przez Google. Osiągnięcie zgodności jest warunkiem wstępnym uzyskania dostępu do oprogramowania i marki Google Play. Gdy urządzenie zostanie zakwalifikowane jako zgodne z Androidem , jego producent powinien wypełnić formularz kontaktowy zawarty w licencjonowaniu Usług mobilnych 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ć Google Play?

Licencja na Google Play jest udzielana tylko producentom telefonów dostarczającym urządzenia. W przypadku pytań dotyczących konkretnych przypadków napisz na adres android-partnerships@google.com .

Jak 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ą licencjonowane osobno. Jeśli masz pytania dotyczące tych aplikacji, skontaktuj się z android-partnerships@google.com .

Czy zgodność jest obowiązkowa?

Nie. Program zgodności z Androidem jest opcjonalny. Kod źródłowy Androida jest otwarty, więc każdy może go użyć do zbudowania dowolnego rodzaju urządzenia. Jeśli jednak producenci chcą używać nazwy Androida w swoich produktach lub chcą mieć 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. Pakiet testów zgodności jest oprogramowaniem typu open source i jest dostępny dla każdego do testowania urządzeń.

Jak długo trwa kompatybilność?

Proces jest zautomatyzowany. Pakiet testów zgodności generuje raport, który można dostarczyć do Google w celu sprawdzenia zgodności. Docelowo zamierzamy zapewnić narzędzia samoobsługowe do przesyłania tych raportów do publicznej bazy danych.

Kto określa definicję kompatybilności?

Google odpowiada za ogólny kierunek Androida jako platformy i produktu, dlatego Google przechowuje dokument definicji zgodności (CDD) dla każdej wersji. Opracowujemy CDD dla nowej wersji Androida w porozumieniu z różnymi producentami OEM, którzy dostarczają dane wejściowe.

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 uniemożliwić komuś użycia starej wersji do uruchomienia urządzenia. Zamiast tego Google decyduje się nie licencjonować oprogramowania klienckiego Google Play do użytku w wersjach, które są uważane za przestarzałe. Dzięki temu każdy może nadal wysyłać 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. Składniki interfejsu użytkownika dostarczane z urządzeniem (takie jak ekran główny, dialer i schemat kolorów) zazwyczaj nie mają dużego wpływu na aplikacje innych firm. W związku z tym twórcy urządzeń mogą swobodnie dostosowywać interfejs użytkownika. Dokument definicji zgodności ogranicza stopień, w jakim producenci OEM mogą zmieniać interfejs użytkownika systemu w obszarach, które mają wpływ na aplikacje innych firm.

Kiedy zostaną wydane definicje zgodności dla nowych wersji systemu Android?

Naszym celem jest wydanie nowej wersji dokumentu definicji zgodności z systemem Android (CDD), gdy odpowiednia wersja platformy Android jest wystarczająco zbieżna, aby na to pozwolić. Chociaż nie możemy wydać ostatecznej wersji roboczej płyty CDD dla wersji oprogramowania dla systemu Android przed dostarczeniem pierwszego flagowego urządzenia z tym oprogramowaniem, ostateczne płyty CDD są zawsze publikowane po pierwszym urządzeniu. Jednak wszędzie tam, gdzie jest to praktyczne, publikujemy wersje robocze płyt CDD.

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

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

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

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

Powrót do góry

Zestaw testów zgodności

Jaki jest cel CTS?

Compatibility Test Suite to narzędzie używane przez producentów urządzeń w celu zapewnienia zgodności ich urządzeń oraz zgłaszania wyników testów w celu weryfikacji. CTS ma być często uruchamiany przez producentów OEM w trakcie całego procesu inżynieryjnego, aby wcześnie wykryć problemy ze zgodnością.

Jakie rzeczy testuje CTS?

CTS obecnie testuje, czy wszystkie obsługiwane interfejsy API Androida o silnym typie są obecne i działają poprawnie. Testuje również inne zachowania systemowe niezwiązane z interfejsem API, takie jak cykl życia aplikacji i wydajność. Planujemy dodać obsługę w przyszłych wersjach CTS, aby testować miękkie interfejsy API, takie jak intencje.

Czy raporty CTS będą upubliczniane?

TAk. Chociaż nie jest to obecnie wdrożone, Google zamierza udostępnić internetowe narzędzia samoobsługowe dla producentów OEM do publikowania raportów CTS, aby każdy mógł je wyświetlić. Producenci mogą udostępniać raporty CTS tak szerokiej publiczności, jak chcą.

Jak jest licencjonowany CTS?

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

Czy CTS przyjmuje składki?

Tak proszę! Projekt Android Open Source akceptuje wkłady w celu ulepszenia CTS, tak jak w przypadku każdego innego składnika. 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 zgodne urządzenia implementowały narzędzie do debugowania adb . Oznacza to, że każde kompatybilne urządzenie (w tym te 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