APN i CarrierConfig

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:

Ponadto zdecydowanie zalecamy śledzenie zmian za pomocą Google Issue Tracker.

Zgłoś błąd

  1. 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).
  2. Po zalogowaniu się po lewej stronie ekranu kliknij Utwórz zgłoszenie.
  3. W sekcji Składnik kliknij Android Public Tracker > Framework.
  4. 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:

  1. Określ, który plik chcesz zmienić.
  2. Wprowadź zmiany w pliku.
  3. 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.
  4. Po zaakceptowaniu zmian w swojej historii osobistej prześlij je do Gerrita za pomocą polecenia repo upload.
  5. 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

  1. Połącz dowolne urządzenie z Androidem, na którym masz dostęp roota.
  2. Dodaj ustawienia do pliku /etc/apns-conf.xml.
  3. Zresetuj ustawienia APN.
  4. W ustawieniach APN sprawdź, czy profile zostały prawidłowo załadowane.
  5. 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_.xml (link do głównego repozytorium Git Google)

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.