运营商可以在 Android 开源项目 (AOSP) 中更新其接入点名称 (APN) 信息和特定于运营商的配置设置 (CarrierConfig)。
使用您的企业邮箱地址的 Google 帐号
要更新 APN 信息或 CarrierConfig,您需要使用具有有效企业邮箱地址的 Google 帐号提交请求(例如,来自 Acme 公司的 APN 更新请求应来自诸如 foobar@acme.com 之类的电子邮件地址)。
如果您没有与您的企业邮箱地址关联的 Google 帐号,请从浏览器中退出所有 Gmail 帐号(我们建议使用隐私浏览功能,例如无痕窗口,以避免与您的其他帐号混淆),然后使用您的企业邮箱地址创建一个 Google 帐号。
准备本地开发环境
如果您以前从未向 AOSP 提交过代码,则需要初始化您的构建环境,熟悉这些工具,并了解如何提交补丁
此外,我们强烈建议您使用 Google Issue Tracker 来跟踪更改。
提交错误
- 转到 issuetracker.google.com 并使用您的企业邮箱地址登录(请参阅使用您的企业邮箱地址的 Google 帐号)。
- 登录后,点击屏幕左侧的创建问题。
- 在组件中,选择Android Public Tracker > Framework
- 继续到 APN 更新或 CarrierConfig 更新(如适用),以输入标题和说明。
APN 错误
按如下方式设置错误属性
标题:为 CarrierXYZ 添加/修改/删除 APN
说明:添加您请求的更改的详细说明,包括 APN 设置本身。
CarrierConfig 错误
按如下方式设置错误属性
标题: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 设置中,确认配置文件已正确加载。
- 对于每个配置文件,测试数据连接、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
请参阅示例 BICS APN,了解 CL 示例。
CarrierConfig 语法
项目名称 - platform/packages/apps/CarrierConfig
文件名 - assets/carrier_config_
通过相关的 MCC/MNC 元组,在 assets 文件夹中识别相关的 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 URL,并将 android-carrier-config-review@google.com 添加为审核人员。
- 您还可以将您的 Google 联系人添加到 Gerrit 上的抄送列表。
- 出于跟踪目的,您可以将问题的受让人更改为 android-carrier-config-review@google.com。
在提交通过审核和验证过程后,Gerrit 会自动将更改合并到公共代码库中。其他用户可以运行 repo sync
以将更新拉取到其本地客户端。