APN 和 CarrierConfig

電信業者可以在 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 更新電信業者設定更新,視情況輸入標題和說明。

APN 錯誤

將錯誤屬性設定如下:

Title: Add/Modify/Remove APNs for CarrierXYZ

說明:詳細說明您要求的變更,包括 APN 設定本身。

CarrierConfig 錯誤

將錯誤屬性設定如下:

標題:變更 CarrierXYZ 的設定

說明:詳細說明您要求的變更。

提交變更

如要變更:

  1. 找出要變更的檔案。
  2. 變更檔案。
  3. 請按照 提交修補程式的說明,將變更提交至本機存放區,並注意提交訊息規範,包括建議格式。
  4. 將變更提交至個人記錄後,請使用 repo upload 指令將變更上傳至 Gerrit。
  5. 上傳成功後,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"
/>

測試

  1. 連線至任何已取得根存取權的 Android 裝置。
  2. 在 /etc/apns-conf.xml 中新增設定。
  3. 重設 APN 設定。
  4. 在 APN 設定中,確認設定檔已正確載入。
  5. 針對每個設定檔測試資料連線、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,請參閱 範例 BICS APN

CarrierConfig 語法

專案名稱 - platform/packages/apps/CarrierConfig

檔案名稱 - assets/carrier_config_.xml (Google Git 主要連結)

根據相關 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 新增為審查人員。
  • 你也可以在 Gerrit 的副本清單中新增 Google 聯絡人。
  • 如要追蹤問題,請將問題的指派對象變更為 android-carrier-config-review@google.com

提交內容通過審查和驗證程序後,Gerrit 會自動將變更合併至公開存放區。其他使用者可以執行 repo sync ,將更新內容提取到本機用戶端。