website/docs/vi_VN/guide/module-config.md
KernelSU cung cấp hệ thống cấu hình tích hợp cho phép các module lưu trữ các cài đặt key-value liên tục hoặc tạm thời. Cấu hình được lưu trữ ở định dạng nhị phân tại /data/adb/ksu/module_configs/<module_id>/ với các đặc điểm sau:
persist.config): tồn tại sau khi khởi động lại cho đến khi bị xóa rõ ràng hoặc gỡ cài đặt moduletmp.config): tự động bị xóa trong giai đoạn post-fs-data mỗi khi khởi độngKhi đọc cấu hình, giá trị tạm thời được ưu tiên hơn giá trị liên tục cho cùng một key.
Tất cả các script module (post-fs-data.sh, service.sh, boot-completed.sh, v.v.) chạy với biến môi trường KSU_MODULE được đặt thành ID module. Bạn có thể sử dụng các lệnh ksud module config để quản lý cấu hình module của mình:
# Lấy giá trị cấu hình
value=$(ksud module config get my_setting)
# Đặt giá trị cấu hình liên tục
ksud module config set my_setting "some value"
# Đặt giá trị cấu hình tạm thời (xóa sau khi khởi động lại)
ksud module config set --temp runtime_state "active"
# Đặt giá trị từ stdin (hữu ích cho văn bản nhiều dòng hoặc dữ liệu phức tạp)
ksud module config set my_key <<EOF
văn bản nhiều dòng
giá trị
EOF
# Hoặc truyền từ lệnh
echo "value" | ksud module config set my_key
# Cờ stdin rõ ràng
cat file.json | ksud module config set json_data --stdin
# Liệt kê tất cả các mục cấu hình (hợp nhất liên tục và tạm thời)
ksud module config list
# Xóa một mục cấu hình
ksud module config delete my_setting
# Xóa một mục cấu hình tạm thời
ksud module config delete --temp runtime_state
# Xóa tất cả cấu hình liên tục
ksud module config clear
# Xóa tất cả cấu hình tạm thời
ksud module config clear --temp
Hệ thống cấu hình áp dụng các giới hạn sau:
^[a-zA-Z][a-zA-Z0-9._-]+$ (như ID module)
0x4b53554d ("KSUM") và xác thực phiên bảnHệ thống cấu hình lý tưởng cho:
::: tip THỰC HÀNH TỐT NHẤT
ksud module config list để gỡ lỗi các vấn đề cấu hình
:::Hệ thống cấu hình mô-đun cung cấp các khóa cấu hình đặc biệt cho các trường hợp sử dụng nâng cao:
Bạn có thể ghi đè động trường description từ module.prop bằng cách đặt khóa cấu hình override.description:
# Ghi đè mô tả mô-đun
ksud module config set override.description "Mô tả tùy chỉnh được hiển thị trong trình quản lý"
Khi lấy danh sách mô-đun, nếu cấu hình override.description tồn tại, nó sẽ thay thế mô tả gốc từ module.prop. Điều này hữu ích cho:
Các mô-đun có thể khai báo tính năng KernelSU nào mà chúng quản lý bằng cách sử dụng mẫu cấu hình manage.<feature>. Các tính năng được hỗ trợ tương ứng với enum nội bộ FeatureId của KernelSU:
Tính năng được Hỗ trợ:
su_compat - Chế độ tương thích SUkernel_umount - Tự động unmount kernel# Khai báo rằng mô-đun này quản lý khả năng tương thích SU và bật nó
ksud module config set manage.su_compat true
# Khai báo rằng mô-đun này quản lý unmount kernel và tắt nó
ksud module config set manage.kernel_umount false
# Xóa quản lý tính năng (mô-đun không còn kiểm soát tính năng này)
ksud module config delete manage.su_compat
Cách hoạt động:
manage.<feature> cho biết mô-đun đang quản lý tính năng đótrue/1 để bật, false/0 (hoặc bất kỳ giá trị nào khác) để tắtCác tính năng được quản lý được hiển thị thông qua API danh sách mô-đun dưới dạng trường managedFeatures (chuỗi phân tách bằng dấu phẩy). Điều này cho phép:
::: warning CHỈ CÁC TÍNH NĂNG ĐƯỢC HỖ TRỢ
Chỉ sử dụng các tên tính năng được xác định trước được liệt kê ở trên (su_compat, kernel_umount). Chúng tương ứng với các tính năng nội bộ thực tế của KernelSU. Sử dụng các tên tính năng khác sẽ không gây lỗi nhưng không có mục đích chức năng nào.
:::