電信業者可以在 Android 開放原始碼專案 (AOSP) 中更新存取點名稱 (APN) 資訊,以及電信業者專屬的設定 (CarrierConfig)。
使用公司電子郵件地址登入的 Google 帳戶
如要更新 APN 資訊或 CarrierConfig,您必須使用含有有效公司電子郵件地址的 Google 帳戶提交要求 (例如,Acme Company 的 APN 更新要求應來自 foobar@acme.com 這類電子郵件地址)。
如果您沒有已連結公司電子郵件地址的 Google 帳戶,請在瀏覽器中登出所有 Gmail 帳戶 (建議使用私密瀏覽功能,例如無痕式視窗,以免與其他帳戶混淆),然後使用公司電子郵件地址建立 Google 帳戶。
準備本機開發環境
如果您從未將程式碼提交至 AOSP,就需要初始化建構環境、熟悉工具,並瞭解如何提交修補程式:
此外,我們強烈建議您使用 Google Issue Tracker 追蹤變更。
回報錯誤
- 前往 issuetracker.google.com,然後使用公司電子郵件地址登入 (請參閱「 使用公司電子郵件地址建立 Google 帳戶」)。
- 登入後,按一下畫面左側的「建立問題」。
- 在「Component」中,依序選取「Android Public Tracker」 >「Framework」
- 接著依需要前往「APN 更新」或「CarrierConfig 更新」,輸入標題和說明。
APN 錯誤
請依照下列方式設定錯誤屬性:
標題:為 CarrierXYZ 新增/修改/移除 APN
說明:請詳細說明您要求的變更內容,包括 APN 設定本身。
CarrierConfig 錯誤
請依照下列方式設定錯誤屬性:
標題:CarrierXYZ 的設定變更
說明:請詳細說明您要求的變更內容。
提交變更
如要變更設定,請按照下列步驟操作:
- 找出要變更的檔案。
- 變更檔案。
- 請按照 提交修補程式的操作說明,將變更提交至本機存放區,並留意提交訊息指南,包括建議格式。
- 將變更內容提交至個人記錄後,請使用
repo upload
指令將其上傳至 Gerrit。 - 上傳成功後,Repo 會在 Gerrit 上提供新頁面的網址。這個網址可用於:
- 在審查伺服器上查看修補程式
- 新增留言
- 要求特定審查人員審查修補程式
APN 語法
Android 專案名稱 - 裝置/範例
檔案名稱: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 熱點和多媒體訊息,確保這些功能運作正常。
修訂版本訊息
[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 URL,並將 android-carrier-config-review@google.com 新增為審查者。
- 您也可以將 Google 聯絡人加入 Gerrit 的副本收件者名單。
- 為便追蹤,您可以將問題的受責人變更為 android-carrier-config-review@google.com。
提交內容通過審查和驗證程序後,Gerrit 會自動將變更合併至公開存放區。其他使用者可以執行 repo sync
,將更新內容拉至本機用戶端。