Operatorzy mogą aktualizować informacje o nazwie punktu dostępu (APN) i ich ustawienia konfiguracji specyficzne dla operatora (CarrierConfig) w projekcie Android Open Source Project (AOSP).
Konto Google z firmowym adresem e-mail
Aby zaktualizować informacje o APN lub konfigurację CarrierConfig, musisz przesłać prośbę za pomocą konta Google z aktywnym firmowym adresem e-mail (np. prośba o aktualizację APN od firmy Acme powinna pochodzić z adresu e-mail foobar@acme.com).
Jeśli nie masz konta Google powiązanego z firmowym adresem e-mail , wyloguj się ze wszystkich kont Gmail w przeglądarce (zalecamy używanie funkcji przeglądania prywatnego, np. okna incognito, aby uniknąć pomyłek 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ś 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 Repo
- Pobieranie kodu źródłowego
- Przesyłanie poprawek
Oprócz tego zdecydowanie zalecamy używanie narzędzia Google Issue Tracker do śledzenia zmian.
Zgłoszenie błędu
- Wejdź na issuetracker.google.com i zaloguj się, używając firmowego adresu e-mail (patrz Konto Google z firmowym adresem e-mail).
- Po zalogowaniu się kliknij Utwórz zgłoszenie po lewej stronie ekranu.
- W sekcji Komponent wybierz Android Public Tracker > Framework
- W zależności od tego, czy chcesz zaktualizować APN czy CarrierConfig, wpisz tytuł i opis.
Błąd APN
Ustaw atrybuty błędu w ten sposób:
Tytuł: Dodaj/Modyfikuj/Usuń APN dla operatora XYZ
Opis: dodaj szczegółowy opis zmian, o które prosisz, w tym same ustawienia APN.
Błąd CarrierConfig
Ustaw atrybuty błędu w ten sposób:
Tytuł: Zmiany konfiguracji dla operatora XYZ
Opis: dodaj szczegółowy opis zmian, o które prosisz.
Przesyłanie zmian
Aby wprowadzić zmiany:
- Określ, który plik chcesz zmienić.
- Wprowadź zmiany w pliku.
- Zatwierdź zmiany w lokalnym repozytorium, postępując zgodnie z instrukcjami przesyłania poprawek, zwracając uwagę na wytyczne dotyczące komunikatu zatwierdzenia, w tym zalecany format.
- Po zatwierdzeniu zmiany w historii osobistej prześlij ją do Gerrit
za pomocą polecenia
repo upload. - Po przesłaniu repo podaje adres URL nowej strony w
Gerrit. Użyj tego adresu URL, aby:
- wyświetlić poprawkę na serwerze sprawdzania;
- dodać komentarze;
- poprosić o sprawdzenie poprawki przez konkretnych recenzentów.
Składnia APN
Nazwa projektu aplikacji na Androida – device/sample
Nazwy plików – etc/apns-full-conf.xml (główny link Google Git)
Plik zawiera ustawienia APN w formacie XML i służy jako plik przykładowy więc nie ma wpływu na działanie 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, do którego masz dostęp root.
- Dodaj ustawienia do /etc/apns-conf.xml.
- Zresetuj ustawienia APN.
- W ustawieniach APN sprawdź, czy profile są prawidłowo wczytywane.
- W przypadku każdego profilu przetestuj łączność z danymi, 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ładową listę zmian znajdziesz w sekcji Przykładowe APN BICS.
Składnia CarrierConfig
Nazwa projektu – platform/packages/apps/CarrierConfig
Nazwy plików – assets/carrier_config_
Znajdź odpowiednie pliki XML w folderze assets, korzystając z odpowiednich krotek MCC/MNC. Plik zawiera obiekt konfiguracji operatora w formacie XML. Nazwy atrybutów są zdefiniowane jako klucze w CarrierConfigManager, a typ wartości (int/string/bool) jest oznaczony sufiksami.
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ładową listę zmian znajdziesz w sekcji Zaktualizowany plik konfiguracji operatora.
Poproś o sprawdzenie
Aby poprosić o sprawdzenie:
- Otwórz adres URL Gerrit swojej zmiany i dodaj android-carrier-config-review@google.com jako recenzenta.
- Możesz też dodać swój kontakt w Google do listy DW w Gerrit.
- Aby ułatwić śledzenie, możesz zmienić osobę przypisaną do zgłoszenia na android-carrier-config-review@google.com.
Gdy przesłana zmiana przejdzie proces sprawdzania i weryfikacji, Gerrit automatycznie scali ją z repozytorium publicznym. Inni użytkownicy mogą uruchomić polecenie repo sync , aby pobrać aktualizację do lokalnego klienta.