APN 和運營商配置

運營商可以在 Android 開源項目 (AOSP) 中更新其接入點名稱 (APN) 信息和運營商特定配置設置 ( CarrierConfig )。

使用您的公司電子郵件地址的 Google 帳戶

要更新 APN 信息或您的 CarrierConfig,您需要使用具有有效公司電子郵件地址的 Google 帳戶提交請求(例如,來自 Acme 公司的 APN 更新請求應來自諸如foobar@acme.com 之類的電子郵件地址)。

如果您沒有鏈接到公司電子郵件地址的 Google 帳戶,請從瀏覽器中退出所有 Gmail 帳戶(我們建議使用隱私瀏覽功能,例如隱身窗口,以避免與您的其他帳戶混淆),然後使用您的公司電子郵件地址創建一個 Google 帳戶

準備本地開發環境

如果您以前從未向 AOSP 提交過代碼,則需要初始化構建環境、熟悉工具並了解如何提交補丁:

此外,我們強烈建議您使用Google 問題跟踪器來跟踪更改。

提交錯誤

  1. 轉到issuetracker.google.com並使用您的公司電子郵件地址登錄(請參閱使用您的公司電子郵件地址的 Google 帳戶)。
  2. 登錄後,單擊屏幕左側的創建問題
  3. Component中,選擇Android Public Tracker > Framework
  4. 根據需要繼續APN updateCarrierConfig update以輸入標題和描述。

APN 錯誤

設置bug屬性如下:

標題:為 CarrierXYZ添加/修改/刪除APN

說明:添加您請求的更改的詳細說明,包括 APN 設置本身。

運營商配置錯誤

設置bug屬性如下:

標題: CarrierXYZ 的配置更改

說明:添加您請求的更改的詳細說明。

提交更改

要進行更改:

  1. 確定要更改的文件。
  2. 對文件進行更改。
  3. 按照提交補丁的說明將更改提交到本地存儲庫,注意提交消息指南,包括推薦的格式。
  4. 提交對個人歷史記錄的更改後,使用repo upload命令將其上傳到 Gerrit。
  5. 成功上傳後,repo 會提供 Gerrit 上新頁面的 URL。使用此 URL 來:
    • 在審核服務器上查看您的補丁
    • 添加評論
    • 為您的補丁請求特定的審閱者

APN 語法

Android 項目名稱- 設備/示例

文件名- etc/apns-full-conf.xml( 谷歌 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"
/>

測試

  1. 連接您擁有 root 訪問權限的任何 Android 設備。
  2. 將設置添加到 /etc/apns-conf.xml。
  3. 重置 APN 設置。
  4. 在 APN 設置中,確認配置文件已正確加載。
  5. 對於每個配置文件,測試數據連接、Wi-Fi 熱點和彩信以確保它們正常工作。

提交消息

[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_ .xml( 谷歌 Git 主鏈接

通過相關的 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 URL 並添加android-carrier-config-review@google.com作為審閱者。
  • 您還可以將您的 Google 聯繫人添加到 Gerrit 上的抄送列表中。
  • 出於跟踪目的,您可以將問題的受讓人更改為android-carrier-config-review@google.com

在提交通過審查和驗證過程後,Gerrit 會自動將更改合併到公共存儲庫中。其他用戶可以運行repo sync以將更新拉入他們的本地客戶端。