携帯通信会社は、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 アカウントをご覧ください)。
- ログイン後、画面左側にある [Create issue] をクリックします。
- [Component] で、[Android Public Tracker > Framework] を選択します。
- 必要に応じて [APN update] または [CarrierConfig update] に進み、タイトルと説明を入力します。
APN のバグ
次のようにバグの属性を設定します。
タイトル: CarrierXYZ の APN の追加 / 変更 / 削除
説明: APN の設定自体を含め、リクエストする変更に関する詳細な説明を追加します。
CarrierConfig のバグ
次のようにバグの属性を設定します。
タイトル: CarrierXYZ の設定変更
説明: リクエストする変更に関する詳細な説明を追加します。
変更を送信
変更を加えるには、次の操作を行います。
- 変更するファイルを指定する。
- ファイルに変更を加える。
- 推奨される形式などが記載されたコミット メッセージのガイドラインに注意しながら、パッチの送信に関する指示に従って、ローカル リポジトリに変更をコミットする。
- 個人履歴に変更をコミットしたら、
repo upload
コマンドを使用して Gerrit にアップロードする。 - アップロードが正常に完了すると、新しいページの URL が Gerrit に表示されるので、この URL を使用して次のことを行う。
- レビュー サーバーでパッチを確認する
- コメントを追加する
- 特定のレビュー担当者にパッチのリクエストを送信する
APN の構文
Android プロジェクト名 - デバイス / サンプル
ファイル名 - etc/apns-full-conf.xml(Google Git の main リンク)
このファイルには 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_
アセット フォルダ内の関連する XML ファイルを、該当する MCC / MNC のタプルで指定します。このファイルには、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 の CC リストに追加することも可能。
- 問題を追跡する場合は、問題の担当者を android-carrier-config-review@google.com に変更する。
送信後、レビューと検証プロセスを経て、Gerrit により変更が自動的に公開リポジトリに反映されます。他のユーザーは、 repo sync
を実行して、更新をローカル クライアントに反映させます。