Operatorzy mogą aktualizować informacje o nazwie punktu dostępu (APN) oraz ustawienia konfiguracji specyficzne dla operatora (CarrierConfig) w projekcie Android Open Source (AOSP).
Konto Google z firmowym adresem e-mail
Aby zaktualizować informacje o APN lub plik CarrierConfig, musisz przesłać prośbę za pomocą konta Google z aktywnym firmowym adresem e-mail (na przykład prośba o aktualizację APN firmy Acme powinna pochodzić z adresu e-mail, takiego jak foobar@acme.com).
Jeśli nie masz konta Google powiązanego z Twoim firmowym adresem e-mail, wyloguj się ze wszystkich kont Gmail w przeglądarce (zalecamy użycie funkcji przeglądania prywatnego, takiej jak okno incognito, aby uniknąć pomylenia z innymi kontami), a następnie utwórz konto Google z firmowym adresem e-mail.
Przygotowanie lokalnego środowiska programistycznego
Jeśli nigdy wcześniej nie przesyłałeś/nie przesyłałaś kodu do AOSP, musisz zainicjować środowisko kompilacji, zapoznać się z narzędziami i dowiedzieć się, jak przesyłać poprawki:
- Tworzenie środowiska kompilacji
- Zapoznanie się z Git i repozytorium
- Pobieranie źródła
- Przesyłanie poprawek
Ponadto zdecydowanie zalecamy śledzenie zmian za pomocą Google Issue Tracker.
Zgłoś błąd
- Wejdź na issuetracker.google.com i zaloguj się, używając służbowego adresu e-mail (patrz Konto Google z firmowym adresem e-mail).
- Po zalogowaniu się po lewej stronie ekranu kliknij Utwórz zgłoszenie.
- W sekcji Składnik kliknij Android Public Tracker > Framework.
- Wpisz tytuł i opis, korzystając z odpowiedniej opcji aktualizacji APN lub aktualizacji CarrierConfig.
Błąd APN
Ustaw atrybuty błędów w ten sposób:
Title: Dodaj/Zmień/Usuń APN w przypadku CarrierXYZ
Opis: dodaj szczegółowy opis zmian, o które prosisz, w tym ustawienia APN.
Błąd CarrierConfig
Ustaw atrybuty błędów w ten sposób:
Title: Zmiany konfiguracji dla operatora CarrierXYZ
Opis: dodaj szczegółowy opis wnioskowanych zmian.
Wprowadź zmiany
Aby wprowadzić zmiany:
- Określ, który plik chcesz zmienić.
- Wprowadź zmiany w pliku.
- Zgłoś zmiany w lokalnym repozytorium, postępując zgodnie ze wskazówkami dotyczącymi przesyłania poprawek. Zwróć uwagę na wytyczne dotyczące wiadomości o zgłoszeniu, w tym na zalecany format.
- Po zaakceptowaniu zmian w swojej historii osobistej prześlij je do Gerrita za pomocą polecenia
repo upload
. - Po przesłaniu repo udostępnia adres URL nowej strony w Gerricie. Za pomocą tego adresu URL możesz:
- Wyświetlanie poprawki na serwerze sprawdzania
- Dodawanie komentarzy
- Prośba o sprawdzenie poprawki przez określonych recenzentów
Składnia APN
Nazwa projektu na Androida – urządzenie/próbka
Nazwa(y) pliku – etc/apns-full-conf.xml (link do głównego repozytorium Git Google).
Plik zawiera ustawienia APN w formacie XML i służy jako plik przykładowy, więc nie powoduje żadnych zmian w zachowaniu urządzeń z Androidem.
Typowa konfiguracja APN wygląda tak:
<apn carrier="CarrierXYZ" mcc="123" mnc="123" apn="carrierxyz" type="default,supl,mms,ims,cbs" mmsc="http://mms.carrierxyz.com" mmsproxy="0.0.0.0" mmsport="80" bearer_bitmask="4|5|6|7|8|12" />
Testowanie
- Połącz dowolne urządzenie z Androidem, na którym masz dostęp roota.
- Dodaj ustawienia do pliku /etc/apns-conf.xml.
- Zresetuj ustawienia APN.
- W ustawieniach APN sprawdź, czy profile zostały prawidłowo załadowane.
- W przypadku każdego profilu przetestuj połączenie z internetem, hotspot Wi-Fi i MMS, aby upewnić się, że działają prawidłowo.
Komunikat zatwierdzenia
[Example - "Add CarrierXYZ apns to sample apns"] Bug: [Issue ID from Google Issue Tracker] Test: No change to behavior as this is only a sample file
Przykładowa lista zmian
Przykład CL znajdziesz w przykładowych APN BICS.
Składnia CarrierConfig
Nazwa projektu – platform/packages/apps/CarrierConfig
Nazwy plików – assets/carrier_config_
Odszukaj odpowiednie pliki XML w folderze zasobów, korzystając z odpowiednich kartezjanów MCC/MNC. Plik zawiera obiekt konfiguracji operatora w formacie XML. Nazwy atrybutów są definiowane jako klucze w CarrierConfigManager, a typ wartości (int/string/bool) jest wskazywany przez sufiksy.
Typowe atrybuty int/string/bool wyglądają tak:
<int name="vvm_port_number_int" value="5499" /> <string name="vvm_type_string">vvm_type_omtp</string > <boolean name="vvm_cellular_data_required_bool" value="true" />
Komunikat zatwierdzenia
[Example - "Add VVM settings for CarrierXYZ"] [Example - "Updated <mccmnc> carrier config file to include VVM settings as defined by CarrierXYZ."] Bug: [Issue ID from Google Issue Tracker] Test: [Testing notes]
Przykładowa lista zmian
Przykładowy plik CL zawiera zaktualizowany plik konfiguracji operatora.
Poproś o sprawdzenie
Aby poprosić o sprawdzenie:
- Otwórz adres URL Gerrita, który zawiera Twoją zmianę, i dodaj adres android-carrier-config-review@google.com jako adres e-mail recenzenta.
- Możesz też dodać kontakt z Google do listy DW w Gerrit.
- Aby umożliwić śledzenie, możesz zmienić osobę odpowiedzialną za problem na android-carrier-config-review@google.com.
Gdy przesłany kod przejdzie proces sprawdzania i weryfikacji, Gerrit automatycznie scali go z publicznym repozytorium. Inni użytkownicy mogą uruchomić repo sync
, aby pobrać aktualizację do klienta lokalnego.