Często Zadawane 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 składają się na 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 stworzeniem solidnych społeczności programistów i użytkowników. W przeważającej części, kod źródłowy Androida jest na licencji pozwalającej Apache License 2.0, zamiast licencji copyleft . Wybraliśmy licencję Apache 2.0, ponieważ wierzymy, że zachęca ona do powszechnego przyjęcia oprogramowania na Androida. Szczegółowe informacje można znaleźć licencji .

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 dla 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żany aktualna wersja stabilna gałąź. Jest to gałąź, którą producenci przenoszą na swoje urządzenia. Ta gałąź jest zawsze gotowa do wydania.

Jednocześnie, jest to prąd gałęzi experimental, czyli tam, gdzie spekulacyjnych składki, takie jak duże funkcji nowej generacji zostały opracowane. 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.

Szczegółowe informacje na temat codelines, gałęzi i wydawnictw, zobacz zarządzania 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 zweryfikować, czy źródło jest upoważnione do dokonywania wkładów.

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, to oprogramowanie 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, które są kompatybilne z Androidem są uprawnieni do udziału w ekosystemie Androida, w tym 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 przesyłać 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 zainteresowanych przyczyniając się kod źródłowy do kontaktu z nami za pośrednictwem kanałów notowanych na Android Community strony przed rozpoczęciem jakichkolwiek prac. Szczegółowe informacje można znaleźć Współpracujący .

Jak zostać twórcą Androida?

Android Open Source Projekt nie naprawdę mają pojęcie committer. 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 można znaleźć zgłaszając łatki .

Powrót do góry

Zgodność

Co to jest „zgodność” z Androidem?

Definiujemy urządzenia kompatybilnego z systemem Android jako taki, który można uruchomić dowolną aplikację napisany przez niezależnych programistów korzystających z 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 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. Android Zgodność definicji dokumentu (CDD) literuje konfiguracje urządzeń specyficznych 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. Po urządzenie jest kwalifikowana jako urządzenia kompatybilnego z systemem Android , producent urządzenia należy wypełnić formularz kontaktowy zawarte w licencji usług Google Mobile , aby ubiegać się o 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, kontakt 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. Skontaktować android-partnerships@google.com dla zapytań dotyczących tych aplikacji.

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. Jednakże, jeśli producenci chcą używać nazwy Android ze swoich produktów, lub 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 udostępnić 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ć wsparcie w przyszłych wersjach CTS przetestować API miękkich takich jak zamiarów.

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?

Kompatybilności definicji dokumentu wymaga kompatybilnych urządzeń wdrożyć adb narzędzia debugowania. 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