電信業者可以在 Android 開放原始碼計畫 (AOSP) 中,更新存取點名稱 (APN) 資訊和電信業者專屬的設定 (CarrierConfig)。
連結至公司電子郵件地址的 Google 帳戶
如要更新 APN 資訊或 CarrierConfig,請使用具備有效公司電子郵件地址的 Google 帳戶提交要求 (例如,Acme 公司的 APN 更新要求應來自 foobar@acme.com 這類電子郵件地址)。
如果沒有連結公司電子郵件地址的 Google 帳戶,請從瀏覽器登出所有 Gmail 帳戶 (建議使用私密瀏覽功能,例如無痕視窗,以免與其他帳戶混淆),然後使用公司電子郵件地址建立 Google 帳戶。
準備本機開發環境
如果您從未向 AOSP 提交程式碼,請先初始化建構環境、熟悉工具,並瞭解如何提交修補程式:
此外,我們強烈建議使用 Google 問題追蹤器追蹤變更。
回報錯誤
- 前往 issuetracker.google.com,然後使用公司電子郵件地址登入 (請參閱「 使用公司電子郵件地址登入 Google 帳戶」)。
- 登入後,按一下畫面左側的「建立問題」。
- 在「Component」中,選取「Android Public Tracker」>「Framework」
- 繼續進行 APN 更新或電信業者設定更新,視情況輸入標題和說明。
APN 錯誤
將錯誤屬性設定如下:
Title: Add/Modify/Remove APNs for CarrierXYZ
說明:詳細說明您要求的變更,包括 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" />
測試
- 連線至任何已取得根存取權的 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
如需範例 CL,請參閱 範例 BICS APN。
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 新增為審查人員。
- 你也可以在 Gerrit 的副本清單中新增 Google 聯絡人。
- 如要追蹤問題,請將問題的指派對象變更為 android-carrier-config-review@google.com。
提交內容通過審查和驗證程序後,Gerrit 會自動將變更合併至公開存放區。其他使用者可以執行 repo sync
,將更新內容提取到本機用戶端。