APN và CarrierConfig

Các nhà mạng có thể cập nhật thông tin về 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ủa bạn

Để cập nhật thông tin APN hoặc CarrierConfig, bạn cần gửi yêu cầu bằng 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 chưa 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ã đến AOSP trước đây, bạn sẽ 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 Google Issue Tracker để 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ông ty của bạn (xem phần Tài khoản Google có địa chỉ email 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 có) để 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

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

Lỗi CarrierConfig

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

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

Nội dung mô tả: Thêm nội dung mô tả chi tiết về những thay đổi mà bạn đang 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. Thực hiện 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 về gửi bản vá, chú ý đến 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, repo 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ủ đánh giá
    • Thêm bình luận
    • 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

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

Tệp này chứa các chế độ cài đặt APN ở định dạng XML và đóng vai trò là một 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 điển hình 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 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 đúng cách.
  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 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

Hạn mức tín dụng mẫu

Hãy xem Sample BICS APNs để biết ví dụ về CL.

Cú pháp CarrierConfig

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

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

Xác định(các) tệp XML có liên quan trong thư mục tài sản theo(các) bộ giá trị MCC/MNC có liên quan. Tệp này chứa đối tượng cấu hình của 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 biểu thị 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]

Hạn mức tín dụng mẫu

Hãy 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 người nhận bản sao trên Gerrit.
  • Để theo dõi, bạn có thể thay đổi người được chỉ định của vấn đề thành android-carrier-config-review@google.com.

Sau khi một bản gửi vượt qua quy trình xem xét và xác minh, Gerrit sẽ tự động hợp nhất thay đổi đó vào kho lưu trữ công khai. Những 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 cục bộ của họ.