APN và CarrierConfig

Nhà mạng có thể cập nhật thông tin Tên điểm truy cập (APN) và chế độ cài đặt cấu hình dành riêng cho nhà mạng (CarrierConfig) trong Dự án nguồn mở Android (AOSP).

Tài khoản Google có địa chỉ email công ty

Để cập nhật thông tin APN hoặc CarrierConfig, bạn cần gửi yêu cầu bằng một Tài khoản Google có địa chỉ email công ty đang hoạt động (ví dụ: yêu cầu cập nhật APN của Công ty Acme phải đến từ một địa chỉ email như foobar@acme.com).

Nếu bạn không có Tài khoản Google liên kết với địa chỉ email công ty, hãy đăng xuất khỏi tất cả tài khoản Gmail trên trình duyệt (bạn nên sử dụng tính năng duyệt web riêng tư, chẳng hạn như cửa sổ ẩn danh, để tránh nhầm lẫn với các tài khoản khác) rồi tạo Tài khoản Google bằng địa chỉ email công ty.

Chuẩn bị môi trường phát triển cục bộ

Nếu chưa từng gửi mã cho AOSP, bạn sẽ cần khởi chạy môi trường xây dựng, làm quen với các công cụ và hiểu cách gửi bản vá:

Ngoài ra, bạn nên sử dụng Công cụ theo dõi lỗi của Google để theo dõi các thay đổi.

Báo cáo lỗi

  1. Truy cập vào issuetracker.google.com rồi đăng nhập bằng địa chỉ email của công ty (xem phần Tài khoản Google bằng địa chỉ email của công ty).
  2. Sau khi đăng nhập, hãy nhấp vào Tạo vấn đề ở bên trái màn hình.
  3. Trong Component (Thành phần), hãy chọn Android Public Tracker > Framework (Trình theo dõi công khai của Android > Khung)
  4. Tiếp tục Cập nhật APN hoặc Cập nhật CarrierConfig (nếu thích hợp) để nhập Tiêu đề và Nội dung mô tả.

Lỗi APN

Đặt các thuộc tính lỗi như sau:

Tiêu đề: Thêm/Sửa đổi/Xoá APN cho CarrierXYZ

Mô tả: Thêm nội dung mô tả chi tiết về những thay đổi mà bạn yêu cầu, bao gồm cả chế độ cài đặt APN.

Lỗi CarrierConfig

Đặt các thuộc tính lỗi như sau:

Tiêu đề: Thay đổi về cấu hình cho CarrierXYZ

Mô tả: Thêm nội dung mô tả chi tiết về những thay đổi bạn yêu cầu.

Gửi các thay đổi

Cách thay đổi:

  1. Xác định tệp cần thay đổi.
  2. Chỉnh sửa tệp.
  3. Cam kết các thay đổi đối với kho lưu trữ cục bộ bằng cách làm theo hướng dẫn gửi bản vá, chú ý đến các nguyên tắc về thông báo cam kết, bao gồm cả định dạng được đề xuất.
  4. Sau khi bạn xác nhận thay đổi đối với nhật ký cá nhân, hãy tải thay đổi đó lên Gerrit bằng lệnh repo upload.
  5. Sau khi tải lên thành công, kho lưu trữ sẽ cung cấp URL của một trang mới trên Gerrit. Sử dụng URL này để:
    • Xem bản vá trên máy chủ xem xét
    • Thêm nhận xét
    • Yêu cầu người đánh giá cụ thể cho bản vá

Cú pháp APN

Tên dự án Android – device/sample

(Các) tên tệp – etc/apns-full-conf.xml (Đường liên kết chính đến Google Git)

Tệp này chứa các chế độ cài đặt APN ở định dạng XML và đóng vai trò là tệp mẫu nên không có thay đổi nào về hành vi của thiết bị Android.

Cấu hình APN thông thường có dạng như sau:

<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"
/>

Thử nghiệm

  1. Kết nối mọi thiết bị Android mà bạn có quyền truy cập thư mục gốc.
  2. Thêm chế độ cài đặt vào /etc/apns-conf.xml.
  3. Đặt lại chế độ cài đặt APN.
  4. Trong phần cài đặt APN, hãy xác nhận rằng các hồ sơ được tải chính xác.
  5. Đối với mỗi hồ sơ, hãy kiểm tra khả năng kết nối dữ liệu, điểm phát sóng Wi-Fi và MMS để đảm bảo các tính năng này hoạt động chính xác.

Thông báo xác nhận

[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

Mẫu CL

Hãy xem Mẫu APN BICS để biết ví dụ về CL.

Cú pháp CarrierConfig

Tên dự án – platform/packages/apps/CarrierConfig

(Các) tên tệp – assets/carrier_config_.xml (Đường liên kết chính đến Google Git)

Xác định(các) tệp XML có liên quan trong thư mục tài sản theo(các) bộ ba MCC/MNC có liên quan. Tệp này chứa đối tượng cấu hình nhà mạng ở định dạng XML. Tên thuộc tính được xác định là khoá trong CarrierConfigManager và loại giá trị (int/string/bool) được chỉ định bằng hậu tố.

Các thuộc tính int/string/bool điển hình có dạng như sau:

<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" />

Thông báo xác nhận

[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]

Mẫu CL

Xem tệp cấu hình nhà mạng đã cập nhật để biết ví dụ về CL.

Yêu cầu xem xét

Cách yêu cầu xem xét:

  • Truy cập vào URL Gerrit của thay đổi và thêm android-carrier-config-review@google.com làm người đánh giá.
  • Bạn cũng có thể thêm người liên hệ của mình trên Google vào danh sách CC trên Gerrit.
  • Để theo dõi vấn đề, bạn có thể thay đổi người được giao vấn đề thành android-carrier-config-review@google.com.

Sau khi một nội dung gửi đi vượt qua quy trình xem xét và xác minh, Gerrit sẽ tự động hợp nhất nội dung thay đổi đó vào kho lưu trữ công khai. Người dùng khác có thể chạy repo sync để lấy bản cập nhật vào ứng dụng cục bộ của họ.