APN và ProviderConfig

Nhà mạng có thể cập nhật thông tin Tên điểm truy cập (APN) cũng như chế độ cài đặt cấu hình theo 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ủa bạn

Để cập nhật thông tin APN hoặc ProviderConfig, bạn cần để gửi yêu cầu bằng một Tài khoản Google có email công ty đang hoạt động địa chỉ (ví dụ: yêu cầu cập nhật APN từ Công ty Acme phải đến 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 email công ty của mình địa chỉ của bạn, đăng xuất khỏi tất cả tài khoản Gmail khỏi trình duyệt (chúng tôi khuyên bạn nên sử dụng tính năng duyệt web ở chế độ 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 của bạn), sau đó là tạo ra một Google bằng địa chỉ email công ty của bạn.

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

Nếu trước đây chưa từng gửi mã đến AOSP thì bạn phải cần khởi động 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 issuetracker.google.com và đăng nhập bằng địa chỉ email công ty của bạn (xem Tài khoản Google bằng địa chỉ email công ty của bạn).
  2. Sau khi đăng nhập, hãy nhấp vào Tạo vấn đề ở phía bên trái màn hình.
  3. Trong Component (Thành phần), chọn Android Public Tracker > Khung
  4. Tiếp tục cập nhật ADB hoặc Cập nhật cấu hình mạng di động (nếu có) để nhập Tiêu đề và Mô tả.

Lỗi APN

Thiết lập các thuộc tính của lỗi như sau:

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

Nội dung mô tả: Thêm nội dung mô tả chi tiết về các thay đổi mà bạn đang thực hiện yêu cầu, bao gồm cả chính các chế độ cài đặt APN.

Lỗi ProviderConfig

Thiết lập các thuộc tính của lỗi như sau:

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

Nội dung mô tả: Thêm nội dung mô tả chi tiết về các thay đổi mà bạn đang thực hiện đang yêu cầu.

Gửi các thay đổi

Cách chỉnh sửa:

  1. Xác định tệp nào cần thay đổi.
  2. Thực hiện các thay đổi đối với tệp.
  3. Xác nhận nội dung thay đổi đối với kho lưu trữ cục bộ bằng cách làm theo hướng dẫn cho gửi bản vá, chú ý đến nguyên tắc về thông báo cam kết, bao gồm định dạng được đề xuất.
  4. Sau khi bạn lưu nội dung thay đổi vào nhật ký cá nhân của mình, hãy tải nội dung đó lên Gerrit bằng lệnh repo upload.
  5. Sau khi tải lên thành công, kho lưu trữ 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 – thiết bị/mẫu

Tên tệp – vv/apns-full-conf.xml (Google Đường liên kết chính của Git)

Tệp này chứa các chế độ cài đặt APN ở định dạng XML và được coi là tệp mẫu do đó sẽ không có thay đổi nào về hành vi của các 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 hồ sơ được tải đúng cách.
  5. Đối với từng 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 chúng 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

CL mẫu

Xem APN BICS mẫu cho một CL ví dụ.

Cú pháp providerConfig

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

Tên tệp – assets/Carrier_config_.xml (Google Đường liên kết chính của Git)

Xác định(các) tệp XML có liên quan trong thư mục thành phần theo MCC/MNC tương ứng bộ dữ liệu. Tệp này chứa đối tượng cấu hình nhà mạng ở định dạng XML. Chiến lược phát hành đĩa đơn được định nghĩa là các khoá trong phần ProviderConfigManager và loại giá trị (int/string/bool) được chỉ định theo hậu tố.

Các thuộc tính int/string/bool thông thường 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]

CL mẫu

Xem cập nhật tệp cấu hình của nhà mạng cho một CL ví dụ.

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 của bạn 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 Google vào danh sách CC trên Gerrit.
  • Để theo dõi, bạn có thể thay đổi người được giao của vấn đề thành android-Carrier-config-review@google.com.

Sau khi người dùng gửi biểu mẫu, chúng tôi sẽ trải qua quy trình xem xét và xác minh, Gerrit 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 để kéo bản cập nhật vào ứng dụng khách cục bộ.