运营商可以在 Android 开源项目 (AOSP) 中更新其接入点名称 (APN) 信息及其特定于运营商的配置设置 (CarrierConfig)。
与您的公司电子邮件地址相关联的 Google 账号
要更新 APN 信息或 CarrierConfig,您需要使用与有效的公司电子邮件地址相关联的 Google 账号提交请求(例如,来自 Acme Company 公司的 APN 更新请求应来自于 foobar@acme.com foobar@acme.com之类的电子邮件地址)。
如果您没有与公司电子邮件地址相关联的 Google 账号,请从浏览器中退出登录所有 Gmail 账号(建议您使用无痕式窗口等无痕浏览功能,以免与其他账号混淆),然后使用您的公司电子邮件地址创建 Google 账号。
准备本地开发环境
如果您以前从未向 AOSP 提交过代码,则需要初始化您的构建环境,熟悉相关工具,并了解如何提交补丁:
此外,我们强烈建议您使用 Google Issue Tracker 来跟踪更改。
提交 bug
- 转到 issuetracker.google.com,然后使用您的公司电子邮件地址登录(请参阅与您的公司电子邮件地址相关联的 Google 账号)。
- 登录后,点击屏幕左侧的 Create issue。
- 在组件中,依次选择 Android Public Tracker > 框架。
- 根据情况继续进行 APN 更新或 CarrierConfig 更新,以输入标题和说明。
APN bug
请按照如下方式设置 bug 属性:
标题:添加/修改/移除 CarrierXYZ 的 APN
说明:请添加关于您所请求更改的详细说明,其中包括 APN 设置本身。
CarrierConfig bug
请按照如下方式设置 bug 属性:
标题:CarrierXYZ 的配置更改
说明:添加关于您所请求更改的详细说明。
提交更改
要进行更改,请执行以下步骤:
- 确定要更改的文件。
- 对相应的文件进行更改。
- 请按照提交补丁的相关说明操作,将相关更改提交到本地代码库,并请注意提交消息指南(包括建议的格式)。
- 将您所做的更改提交到您的个人历史记录后,使用
repo upload
命令将其上传到 Gerrit。 - 上传成功后,Repo 会提供 Gerrit 上新网页的网址。您可以使用此网址来执行以下操作:
- 在审核服务器上查看您的补丁程序
- 添加评论
- 为您的补丁程序申请特定审核者
APN 语法
Android 项目名称 - device/sample
文件名 - etc/apns-full-conf.xml(Google Git 主链接)
该文件包含 XML 格式的 APN 设置,并充当示例文件,因此 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" />
测试
- 连接您拥有 root 权限的任何 Android 设备。
- 将设置添加到 /etc/apns-conf.xml。
- 重置 APN 设置。
- 在 APN 设置中,确认已正确加载配置文件。
- 对于每个配置文件,都请测试数据连接、WLAN 热点和 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,请参阅示例 BICS APN。
CarrierConfig 语法
项目名称 - platform/packages/apps/CarrierConfig
文件名 - assets/carrier_config_
按相关的 MCC/MNC 元组识别资源文件夹中的相关 XML 文件。该文件包含 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,请参阅经过更新的运营商配置文件。
请求审核
要请求审核,请执行以下操作:
- 转到相应更改的 Gerrit 网址,然后将“android-carrier-config-review@google.com”android-carrier-config-review@google.com添加为审核者。
- 您还可以将您的 Google 联系人添加到 Gerrit 上的抄送名单中。
- 为了进行跟踪,您可以将问题指派人更改为“android-carrier-config-review@google.com”。android-carrier-config-review@google.com
在提交内容通过审核和验证流程之后,Gerrit 会自动将更改合并到公开代码库。其他用户可以运行 repo sync
以将更新提取到他们的本地客户端。