Tên gói dịch vụ được xác định theo một hệ phân cấp.
Mỗi VM (được xác định bằng tên VM) là một lần triển khai hệ điều hành hồ sơ SDV Core.
Mỗi gói (được xác định bằng tên gói) có thể chứa nhiều gói dịch vụ.
Mỗi gói dịch vụ (được xác định bằng một tên gói dịch vụ) có thể được khởi tạo nhiều lần trên cùng một VM.
Mỗi thực thể gói dịch vụ được xác định bằng một tên thực thể gói dịch vụ được chỉ định tại thời gian tải.
Tên máy ảo SDV
Tên VM là giá trị nhận dạng tên riêng biệt được gắn vào mỗi lần triển khai hồ sơ SDV Core như được chỉ định trong Cấu hình VM của xe (vvmconfig). Tên VM được dùng trong quy trình đặt tên để tách biệt các dịch vụ một cách logic dọc theo ranh giới VM trong xe. Ví dụ:
cdcmechatronicspcutelematics-unit
Các quy định hạn chế về tên này sẽ được áp dụng.
- Tên máy ảo phải bắt đầu bằng một chữ cái
[a-z] - Tên máy ảo không được kết thúc bằng dấu gạch ngang
- Tên máy ảo không được vượt quá 31 ký tự
- Tất cả ký tự phải là chữ và số viết thường hoặc dấu gạch ngang
[a-z0-9\-] - Dấu gạch ngang trong tên không được xuất hiện liên tiếp nhiều hơn một lần
Tên VM được xác minh là duy nhất trong thời gian biên dịch (phân tích tĩnh) và khi hệ thống khởi động khi vvmconfig được tải.
Lỗi ở cấp độ khởi động xảy ra khi quá trình xác thực tại thời điểm khởi động không thành công.
Tên gói SDV
Tương tự như Android tiêu chuẩn, tên gói SDV giúp nhận dạng duy nhất một gói được triển khai trên hệ thống. Bạn phải cung cấp một APEX riêng biệt cho mỗi tên gói. Ví dụ:
com.android.sdv.datatunnelcom.android.sdv.sample.datatunnelcom.yourcompany.sdv.adas
Các quy định hạn chế sau đây sẽ được áp dụng:
- Tất cả các APEX SDV do đối tác sở hữu đều phải có tiền tố
com.<companyname>.sdv.(com.android.sdv.được dành riêng cho các APEX SDV do Google sở hữu). - Tất cả ký tự phải có dạng chữ-số hoặc dấu gạch dưới,
[a-z0-9_]. - Tên gói phải chứa ít nhất 4 phân đoạn được phân tách bằng dấu chấm.
- Tên gói không được kết thúc bằng dấu chấm.
- Tên gói không được vượt quá 127 ký tự.
- Mỗi phân đoạn phải bắt đầu bằng một chữ cái.
- Không có phân đoạn nào có thể có dấu gạch dưới liên tiếp,
__. - Không phân đoạn nào được kết thúc bằng dấu gạch dưới,
_. - Các đoạn không được để trống (không có dấu chấm liên tiếp).
Tên gói dịch vụ
Tương tự như Android tiêu chuẩn, mỗi gói dịch vụ đều có một tên mà con người có thể đọc được, được đặt tên theo không gian tên trong tên gói mà gói dịch vụ đó thuộc về. Ví dụ:
SomeServiceImportantService
Các quy định hạn chế về tên sau đây sẽ được áp dụng:
- Tên gói dịch vụ PHẢI bắt đầu bằng một chữ cái viết hoa
- Không được để trống tên gói dịch vụ
- Tên gói dịch vụ KHÔNG ĐƯỢC vượt quá 47 ký tự
- Tên gói dịch vụ KHÔNG ĐƯỢC có dấu gạch dưới liên tiếp,
__ - Tên gói dịch vụ KHÔNG ĐƯỢC bắt đầu hoặc kết thúc bằng dấu gạch dưới,
_ - Tất cả ký tự PHẢI là chữ và số hoặc dấu gạch dưới,
[A-Za-z0-9_]
Tên phiên bản gói dịch vụ
Không giống như các ứng dụng Android tiêu chuẩn, các gói dịch vụ trong AAOS SDV có thể được cài đặt và tải nhiều lần trên cùng một VM. Do đó, cùng một gói dịch vụ có thể có nhiều phiên bản chạy trong cùng một VM SDV AAOS. Những phiên bản này được chỉ định một tên phiên bản gói dịch vụ mà con người có thể đọc được. Ví dụ:
front-leftfront-rightmainclientsubscriber
Những quy định hạn chế sau đây sẽ được áp dụng:
Tên phiên bản phải:
- Bắt đầu bằng một chữ cái
[a-z] - Không được kết thúc bằng dấu gạch ngang
- Không vượt quá 47 ký tự
- Là duy nhất trên cùng một máy ảo cho cùng một dịch vụ
- Bắt đầu bằng một chữ cái
Tất cả ký tự phải là chữ và số viết thường hoặc dấu gạch ngang
[a-z0-9\-]Dấu gạch nối không được xuất hiện liên tiếp
Mỗi phiên bản dịch vụ phải có một Tên phiên bản riêng biệt (được cung cấp hoặc tạo khi dịch vụ bắt đầu).
Tên thực thể gói dịch vụ đủ điều kiện (FQIN)
Tên VM SDV, tên gói, tên gói dịch vụ và tên phiên bản gói dịch vụ được kết hợp thành tên phiên bản gói dịch vụ đủ điều kiện (FQIN). Mã này xác định duy nhất một phiên bản gói dịch vụ trên toàn bộ xe.
Một số ví dụ:
cdc:com.android.sdv.datatunnel.SomeService/instance1cdc:com.android.sdv.datatunnel.SomeService/instance2mechatronics:com.yourcompany.sdv.adas.TirePressure/front-leftmechatronics:com.yourcompany.sdv.adas.TirePressure/front-rightmechatronics:com.yourcompany.sdv.adas.TirePressure/rear-rightpcu:com.android.sdv.cluster.InfoProvider/acceleration
Các gói dịch vụ trong các gói khác nhau có thể có cùng tên gói dịch vụ. Ví dụ: hai gói dịch vụ này (được xác định bằng FQIN tương ứng), được triển khai trong cùng một VM SDV (mechatronics), có cùng tên gói dịch vụ là TirePressure:
mechatronics:com.yourcompany1.sdv.adas.TirePressure/defaultmechatronics:com.yourcompany2.sdv.adas.TirePressure/default
Trong ví dụ này, không xảy ra xung đột tên vì 2 gói dịch vụ nằm trong các gói khác nhau (một gói trong com.yourcompany1.sdv.adas và gói còn lại trong com.yourcompany2.sdv.adas).
Tên chủ đề
Các chủ đề được xác định bằng các chuỗi riêng biệt trên xe cho một loại thông báo nhất định.
Ví dụ về tên chủ đề:
left-tirefront-windowengine-coolant-temp
Giới hạn:
- Phải là chữ và số hoặc dấu gạch ngang,
[a-z0-9\-]. - Phải bắt đầu bằng một chữ cái.
- Không được vượt quá 127 ký tự.
Tên kênh
Các kênh được xác định bằng một chuỗi tên.
Ví dụ về tên kênh:
main-controlhigh-prioritybackground
Giới hạn:
- Phải là chữ và số hoặc dấu gạch ngang,
[a-z0-9\-]. - Phải bắt đầu bằng một chữ cái.
- Không được vượt quá 127 ký tự.
Tên đơn vị dịch vụ
Nhà phát triển gói dịch vụ chủ yếu tương tác với các chủ đề và kênh. Tên đơn vị dịch vụ là một chi tiết triển khai cơ bản và chủ yếu gặp phải khi sử dụng các công cụ gỡ lỗi như dumpsys.
Các đơn vị dịch vụ, khi được đăng ký với SDV Service Discovery, phải cung cấp tên đơn vị dịch vụ. Tên đơn vị dịch vụ này có sẵn tại thời điểm Service Discovery. Các ví dụ này cho thấy tên đơn vị dịch vụ có FQIN:
( cdc:com.android.sdv.adas.Service1/default-inst , tp-provider )( cdc:com.yourcompany.sdv.adas.TirePressure/instance1 , tp-provider-1 )( mech:com.yourcompany.sdv.adas.TirePressure/instance2 , tp-instance )
Tên loại đơn vị
Tên loại đơn vị bằng với tên loại Protobuf (đủ điều kiện). Ví dụ:
com.android.sdv.datatunnel.IComponentHandlercom.android.sdv.datatunnel.IComponentHandlercom.yourcompany.sdv.adas.TirePressurecom.android.sdv.cluster.IWheelInfoCallbackcom.android.sdv.cluster.ISeatAlignmentCallback
Tóm tắt
Các yêu cầu về tên được tóm tắt trong bảng sau:
| Mục | Giới hạn | Ký tự được phép | Loại trường hợp |
|---|---|---|---|
| FQIN | 256 ký tự | Bao gồm tên VM, tên gói, tên gói dịch vụ và tên phiên bản gói dịch vụ. | Chữ thường |
| Tên máy ảo SDV | 30 ký tự |
|
Chữ thường |
| Tên gói SDV | 127 ký tự |
|
Chữ thường |
| Tên gói dịch vụ | 30 ký tự |
|
Chữ hoa và chữ thường lẫn lộn |
| Tên phiên bản gói dịch vụ | 48 ký tự |
|
Chữ thường |
| Tên chủ đề | 127 ký tự |
|
Chữ thường |
| Tên kênh | 127 ký tự |
|
Chữ thường |
| Tên đơn vị dịch vụ | 48 ký tự |
|
Chữ thường |