Операторы связи могут обновлять информацию о своем имени точки доступа (APN) и свои параметры конфигурации для конкретного оператора ( CarrierConfig ) в Android Open Source Project (AOSP).
Аккаунт Google с вашим корпоративным адресом электронной почты
Чтобы обновить информацию об APN или CarrierConfig, вам необходимо отправить запрос, используя учетную запись Google с активным корпоративным адресом электронной почты (например, запрос на обновление APN от компании Acme должен поступать с адреса электронной почты, такого как foobar@acme.com ).
Если у вас нет учетной записи Google, связанной с вашим корпоративным адресом электронной почты, выйдите из всех учетных записей Gmail в своем браузере (мы рекомендуем использовать функцию приватного просмотра, такую как окно в режиме инкогнито, чтобы избежать путаницы с другими вашими учетными записями), а затем создайте учетную запись Google со своим корпоративным адресом электронной почты .
Подготовьте локальную среду разработки
Если вы никогда раньше не отправляли код в AOSP, вам нужно будет инициализировать среду сборки, ознакомиться с инструментами и понять, как отправлять исправления:
Кроме того, мы настоятельно рекомендуем вам использовать средство отслеживания проблем Google для отслеживания изменений.
Сообщить об ошибке
- Перейдите на issuetracker.google.com и войдите, используя свой корпоративный адрес электронной почты (см. Аккаунт Google с вашим корпоративным адресом электронной почты ).
- После входа в систему нажмите « Создать задачу » в левой части экрана.
- В компоненте выберите Android Public Tracker > Framework.
- Перейдите к обновлению APN или обновлению CarrierConfig , в зависимости от ситуации, чтобы ввести заголовок и описание.
Ошибка APN
Установите атрибуты ошибки следующим образом:
Название: Добавление / изменение / удаление APN для CarrierXYZ
Описание: добавьте подробное описание запрашиваемых изменений, включая сами настройки APN.
Ошибка CarrierConfig
Установите атрибуты ошибки следующим образом:
Название: Изменения конфигурации для CarrierXYZ
Описание: добавьте подробное описание запрашиваемых изменений.
Отправить изменения
Чтобы внести изменения:
- Определите, какой файл нужно изменить.
- Внесите изменения в файл.
- Зафиксируйте изменения в своем локальном репозитории, следуя инструкциям по отправке исправлений , обращая внимание на рекомендации по сообщениям о фиксации, включая рекомендуемый формат.
- После того, как вы внесете изменения в свою личную историю, загрузите их в Gerrit с помощью команды
repo upload
репозитория. - После успешной загрузки репозиторий предоставляет URL-адрес новой страницы на Gerrit. Используйте этот URL, чтобы:
- Просмотрите свой патч на сервере обзора
- Добавить комментарии
- Запросить конкретных рецензентов для вашего патча
Синтаксис точки доступа
Название проекта 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" />
Тестирование
- Подключите любое Android-устройство, к которому у вас есть root-доступ.
- Добавьте настройки в /etc/apns-conf.xml.
- Сбросьте настройки АПН.
- В настройках APN убедитесь, что профили загружены правильно.
- Для каждого профиля проверьте подключение к данным, точку доступа 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
См. Образцы APN BICS для примера CL.
Синтаксис CarrierConfig
Название проекта - платформа/пакеты/приложения/CarrierConfig
Имя(а) файла – assets/carrier_config_
Идентифицируйте соответствующие 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 .
После того, как отправка проходит процесс проверки и проверки, Gerrit автоматически вносит изменения в общедоступный репозиторий. Другие пользователи могут запустить repo sync
, чтобы загрузить обновление в свой локальный клиент.