Операторы могут обновлять информацию о названии точки доступа (APN) и настройки конфигурации (CarrierConfig) в Android Open Source Project (AOSP).
аккаунт Google с корпоративным адресом электронной почты;
Чтобы обновить информацию об APN или CarrierConfig, отправьте запрос с аккаунта Google, в котором указан действующий корпоративный адрес электронной почты (например, запрос на обновление APN от компании Acme должен быть отправлен с адреса foobar@acme.com).
Если у вас нет аккаунта Google, связанного с корпоративным адресом электронной почты, выйдите из всех аккаунтов Gmail в браузере (мы рекомендуем использовать режим частного просмотра, например окно инкогнито, чтобы не путать аккаунты) и создайте аккаунт Google с корпоративным адресом электронной почты.
Как подготовить локальную среду разработки
Если вы никогда раньше не отправляли код в AOSP, вам нужно будет инициализировать среду сборки, ознакомиться с инструментами и понять, как отправлять исправления:
Кроме того, мы настоятельно рекомендуем использовать Google Issue Tracker для отслеживания изменений.
Сообщить об ошибке
- Перейдите на сайт issuetracker.google.com и войдите в аккаунт, используя корпоративный адрес электронной почты (см. аккаунт Google с корпоративным адресом электронной почты).
- Войдя в аккаунт, нажмите Создать проблему в левой части экрана.
- В разделе Компонент выберите Android Public Tracker > Framework.
- Перейдите к разделу Обновление APN или Обновление CarrierConfig и введите название и описание.
Ошибка точки доступа
Задайте следующие атрибуты ошибки:
Title: Add/Modify/Remove APNs for CarrierXYZ
Описание. Добавьте подробное описание изменений, которые вы хотите внести, включая сами настройки APN.
Ошибка CarrierConfig
Задайте следующие атрибуты ошибки:
Заголовок: изменения конфигурации для CarrierXYZ
Описание. Добавьте подробное описание изменений, которые вы хотите внести.
Сохранить изменения
Чтобы изменить настройки:
- Определите, какой файл нужно изменить.
- Пользователь может вносить изменения в файл,
- Зафиксируйте изменения в локальном репозитории, следуя инструкциям по отправке исправлений. При этом соблюдайте правила в отношении сообщений о фиксации, в том числе рекомендации по формату.
- После того как вы зафиксируете изменения в личной истории, загрузите их в Gerrit с помощью команды
repo upload. - После успешной загрузки repo предоставляет URL новой страницы в Gerrit. Этот URL можно использовать для следующих целей:
- Просмотр исправления на сервере проверки
- Добавьте комментарии
- Как запросить проверку исправлений у определенных пользователей
Синтаксис точки доступа
Название проекта для Android – device/sample
Названия файлов: etc/apns-full-conf.xml (основная ссылка на Google Git).
Файл содержит настройки APN в формате XML и служит в качестве примера, поэтому поведение устройств Android не изменится.
Типичная конфигурация точки доступа выглядит следующим образом:
<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
Пример CL можно найти в разделе Примеры APN BICS.
Синтаксис CarrierConfig
Название проекта – platform/packages/apps/CarrierConfig
Названия файлов: assets/carrier_config_
Найдите в папке assets нужные 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 в список получателей копии в Gerrit.
- Чтобы отслеживать проблему, вы можете изменить ответственного за нее на android-carrier-config-review@google.com.
После того как отправленный код пройдет проверку и верификацию, Gerrit автоматически объединит изменения с общедоступным репозиторием. Другие пользователи могут запустить repo sync , чтобы получить обновление в локальном клиенте.