APN и CarrierConfig

Операторы связи могут обновить информацию об имени точки доступа (APN) и параметры конфигурации для конкретного оператора ( CarrierConfig ) в проекте Android с открытым исходным кодом (AOSP).

Аккаунт Google с вашим корпоративным адресом электронной почты

Чтобы обновить информацию APN или вашу CarrierConfig, вам необходимо отправить запрос, используя учетную запись Google с активным корпоративным адресом электронной почты (например, запрос на обновление APN от компании Acme должен поступать с такого адреса электронной почты, как foobar@acme.com ).

Если у вас нет учетной записи Google, связанной с вашим корпоративным адресом электронной почты, выйдите из всех учетных записей Gmail в своем браузере (мы рекомендуем использовать функцию приватного просмотра, например окно инкогнито, чтобы избежать путаницы с другими вашими учетными записями), а затем создайте учетную запись Google со своим корпоративным адресом электронной почты .

Подготовьте локальную среду разработки

Если вы никогда раньше не отправляли код в AOSP, вам необходимо инициализировать среду сборки, ознакомиться с инструментами и понять, как отправлять исправления:

Кроме того, мы настоятельно рекомендуем вам использовать Google Issue Tracker для отслеживания изменений.

Сообщить об ошибке

  1. Перейдите на сайт Issuetracker.google.com и войдите в систему, используя свой корпоративный адрес электронной почты (см. Аккаунт Google с вашим корпоративным адресом электронной почты ).
  2. После входа в систему нажмите «Создать задачу» в левой части экрана.
  3. В разделе «Компонент» выберите Android Public Tracker > Framework.
  4. Продолжайте обновлять APN или CarrierConfig , в зависимости от ситуации, чтобы ввести заголовок и описание.

Ошибка APN

Установите атрибуты ошибки следующим образом:

Название: Добавление / изменение / удаление APN для CarrierXYZ

Описание: добавьте подробное описание запрашиваемых вами изменений, включая сами настройки APN.

Ошибка CarrierConfig

Установите атрибуты ошибки следующим образом:

Заголовок: Изменения конфигурации для CarrierXYZ

Описание. Добавьте подробное описание изменений, которые вы запрашиваете.

Отправить изменения

Чтобы внести изменения:

  1. Определите, какой файл нужно изменить.
  2. Внесите изменения в файл.
  3. Зафиксируйте изменения в локальном репозитории, следуя инструкциям по отправке исправлений , обращая внимание на правила сообщения о фиксации, включая рекомендуемый формат.
  4. После того, как вы зафиксируете изменения в своей личной истории, загрузите их в Gerrit с помощью команды repo upload .
  5. После успешной загрузки репозиторий предоставляет URL-адрес новой страницы Gerrit. Используйте этот URL-адрес, чтобы:
    • Просмотрите свой патч на сервере проверки.
    • Добавить комментарии
    • Запросите конкретных рецензентов для вашего патча

Синтаксис APN

Название проекта Android – устройство/образец

Имена файлов — etc/apns-full-conf.xml ( основная ссылка Google Git )

Файл содержит настройки APN в формате XML и служит примером файла, поэтому поведение устройств Android не меняется.

Типичная конфигурация APN выглядит так:

<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"
/>

Тестирование

  1. Подключите любое Android-устройство, к которому у вас есть root-доступ.
  2. Добавьте настройки в /etc/apns-conf.xml.
  3. Сбросьте настройки APN.
  4. В настройках APN убедитесь, что профили загружены правильно.
  5. Для каждого профиля проверьте подключение для передачи данных, точку доступа Wi-Fi и MMS, чтобы убедиться, что они работают правильно.

Зафиксировать сообщение

[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

Образец CL

Пример CL см. в разделе «Примеры APN BICS» .

Синтаксис CarrierConfig

Название проекта — платформа/пакеты/приложения/CarrierConfig.

Имена файлов — assets/carrier_config_ .xml ( основная ссылка Google Git )

Определите соответствующие XML-файлы в папке ресурсов по соответствующим кортежам MCC/MNC. Файл содержит объект конфигурации оператора связи в формате XML. Имена атрибутов определяются как ключи в CarrierConfigManager , а тип значения (int/string/bool) указывается суффиксами.

Типичные атрибуты int/string/bool выглядят следующим образом:

<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" />

Зафиксировать сообщение

[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]

Образец CL

Пример CL см. в обновленном файле конфигурации оператора связи .

Запросить отзыв

Чтобы запросить проверку:

  • Перейдите по URL-адресу Gerrit вашего изменения и добавьте android-carrier-config-review@google.com в качестве рецензента.
  • Вы также можете добавить свой контакт Google в список CC на Gerrit.
  • В целях отслеживания вы можете изменить ответственного за проблему на android-carrier-config-review@google.com .

После того как отправленное изменение проходит процесс рассмотрения и проверки, Геррит автоматически объединяет изменение в общедоступный репозиторий. Другие пользователи могут запустить repo sync , чтобы загрузить обновление в свой локальный клиент.