Google jest zaangażowany w promowanie równości rasowej dla społeczności czarnych. Zobacz jak.
Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Zarządzanie oprogramowaniem Android

Android Open Source Project (AOSP) utrzymuje kompletny stos oprogramowania, który ma być przenoszony przez producentów OEM i innych producentów urządzeń i uruchamiany na ich własnym sprzęcie. Aby utrzymać jakość Androida, Google zatrudnił pełnoetatowych inżynierów, menedżerów produktów, projektantów interfejsów użytkownika, testerów zapewniania jakości i wszystkie inne role wymagane do wprowadzenia nowoczesnych urządzeń na rynek.

W związku z tym utrzymujemy szereg linii kodu, aby wyraźnie oddzielić obecną stabilną wersję Androida od niestabilnych prac eksperymentalnych. Przenosimy administrację open source i utrzymanie linii kodowych Androida do większego cyklu rozwoju produktu.

Zarządzanie kodami AOSP

Poniższy wykres przedstawia koncepcje związane z zarządzaniem kodem AOSP i wydaniami.

schemat linii kodu
Rysunek 1. Kod AOSP i wersje
  1. W dowolnym momencie dostępna jest najnowsza wersja platformy Android. Zwykle ma to postać gałęzi w drzewie.
  2. Twórcy urządzeń i współtwórcy pracują z najnowszą wersją, naprawiając błędy, uruchamiając nowe urządzenia, eksperymentując z nowymi funkcjami i tak dalej.
  3. Równolegle Google pracuje wewnętrznie nad kolejną wersją platformy i frameworka Androida zgodnie z potrzebami i celami produktu. Opracowujemy następną wersję Androida, współpracując z partnerem sprzętowym na flagowym urządzeniu, którego specyfikacje zostały wybrane tak, aby popchnąć Androida w kierunku, który naszym zdaniem powinien podążać.
  4. Gdy wersja n + 1 jest gotowa, zostaje opublikowana w publicznym drzewie źródeł i staje się najnowszą wersją.

Warunki i zastrzeżenia

  • Wydanie odpowiada formalnej wersji platformy Android, takiej jak 1.5 lub 8.1. Wersja platformy odpowiada wersji w polu SdkVersion plików AndroidManifest.xml i zdefiniowanej w frameworks/base/api w drzewie źródłowym.
  • Projekt nadrzędny to projekt typu open source, z którego stos systemu Android pobiera kod. Oprócz projektów, takich jak jądro systemu Linux i WebKit, kontynuujemy migrację niektórych półautonomicznych projektów systemu Android, takich jak ART, narzędzia Android SDK i Bionic, aby pracować jako projekty nadrzędne. Ogólnie rzecz biorąc, projekty te są opracowywane w całości w drzewie publicznym. W przypadku niektórych projektów nadrzędnych programiści wnoszą wkład bezpośrednio do projektu nadrzędnego. Aby uzyskać szczegółowe informacje, zobacz projekty Upstream . W obu przypadkach migawki są okresowo wprowadzane do wersji.
  • Przez cały czas linia kodu wydania (która może składać się z więcej niż jednej gałęzi w git) jest uważana za jedyny kanoniczny kod źródłowy dla danej wersji platformy Android. Producenci OEM i inne grupy budujące urządzenia powinny pobierać tylko z gałęzi wydania.
  • Wyznaczono eksperymentalne linie kodowe, aby uchwycić zmiany wprowadzane przez społeczność, aby można było je powtarzać pod kątem stabilności.
  • Zmiany, które okazują się stabilne, są ostatecznie przenoszone do gałęzi wydania. Dotyczy to tylko poprawek błędów, ulepszeń aplikacji i innych zmian, które nie mają wpływu na interfejsy API platformy.
  • W razie potrzeby zmiany są pobierane do gałęzi wydania z projektów nadrzędnych (w tym projektów nadrzędnych systemu Android).
  • Wersja n + 1 (kolejna główna wersja frameworka i interfejsów API platformy) jest rozwijana wewnętrznie przez Google. Aby uzyskać szczegółowe informacje, zobacz Prywatne linie kodu .
  • W razie potrzeby zmiany są pobierane z gałęzi upstream, release i eksperymentalnych do prywatnego oddziału Google.
  • Kiedy interfejsy API platformy dla następnej wersji zostaną ustabilizowane i w pełni przetestowane, Google SdkVersion wydanie kolejnej wersji platformy (w szczególności nowej wersji SdkVersion ). Odpowiada to wewnętrznej linii kodu, która stała się publiczną gałęzią wydania, i nowej obecnej linii kodowej platformy.
  • Kiedy nowa wersja platformy jest wycinana, w tym samym czasie tworzony jest odpowiedni eksperymentalny kod.

Prywatne linie kodowe

Powyższa strategia zarządzania źródłami obejmuje kod, który Google utrzymuje prywatnie, aby skupić uwagę na bieżącej publicznej wersji Androida.

Producenci OEM i inni producenci urządzeń chcą oczywiście dostarczać urządzenia z najnowszą wersją Androida. Podobnie twórcy aplikacji nie chcą mieć do czynienia z większą liczbą wersji platformy, niż jest to konieczne. Tymczasem Google zachowuje odpowiedzialność za strategiczny kierunek rozwoju Androida jako platformy i produktu. Nasze podejście koncentruje się na niewielkiej liczbie flagowych urządzeń do obsługi funkcji przy jednoczesnym zabezpieczeniu własności intelektualnej związanej z systemem Android.

W rezultacie Google często posiada poufne informacje od stron trzecich i musi powstrzymać się od ujawniania poufnych funkcji do czasu uzyskania odpowiednich zabezpieczeń. Ponadto istnieje realne ryzyko dla platformy, jeśli jednocześnie istnieje zbyt wiele wersji platformy. Z tych powodów ustrukturyzowaliśmy projekt open source (w tym wkład osób trzecich), aby skupić się na obecnie publicznej stabilnej wersji Androida. Głęboki rozwój kolejnej wersji platformy odbywa się prywatnie, dopóki nie będzie gotowa do oficjalnego wydania.

Zdajemy sobie sprawę, że wielu autorów nie zgadza się z tym podejściem i szanujemy ich punkt widzenia. Jest to jednak podejście, które uważamy za najlepsze i to, które zdecydowaliśmy się zaimplementować na Androida.