Ngay lập tức, Glass Enterprise không được trang bị tính năng thực hiện cập nhật qua chế độ không dây (OTA). Tuy nhiên, bạn có thể định cấu hình các bản cập nhật OTA cơ bản. Chức năng cập nhật OTA EE2 cho phép chủ sở hữu thiết bị kiểm soát hoàn toàn các bản cập nhật Không dây (OTA):
- Để kiểm soát nơi lưu trữ bản cập nhật.
- Kiểm soát thời điểm cập nhật.
- Để kiểm soát những gì tạo ra các mục tiêu cập nhật.
Cấu hình
Để cho phép cập nhật OTA trong các thiết bị EE2, bạn cần có cấu hình phía máy chủ và phía máy khách.
Cấu hình phía máy chủ
Bạn cần lưu trữ tệp cập nhật OTA để tải xuống trong một máy chủ mà bạn có thể truy cập trên mạng của mình. Bạn nên tải tệp cập nhật xuống từ trang Hình ảnh hệ thống.
Bạn cũng cần lưu trữ một tệp JSON để lưu trữ bản cập nhật. Bạn cần định dạng tệp này như ví dụ về trình cập nhật mẫu.json. Tệp này chứa các thông tin như kích thước nội dung tải xuống, độ dài nhị phân và các siêu dữ liệu khác mà công cụ cập nhật cần để chấp nhận tệp nhị phân OTA.
Cấu hình phía máy khách
Để một thiết bị kiểm tra bản cập nhật OTA, bạn cần thiết lập URL và khoảng thời gian thăm dò OTA. Bạn có thể sử dụng ý định để bắt đầu một hoạt động thiết lập hoạt động đó. Tên của hoạt động
là com.google.android.glass.otaservice/.OtaSettingsActivity
.
Có 2 hành động được hỗ trợ:
com.google.android.glass.otaservice.UPDATE_LOCATION_ACTION
- URL của tệp siêu dữ liệu JSON mà trình nền thăm dò và kiểm tra.
- Nối một chuỗi với khóa sau:
com.google.android.glass.otaservice.UPDATE_LOCATION
com.google.android.glass.otaservice.UPDATE_FREQUENCY_ACTION
- Khoảng thời gian mà trình nền OTA thức dậy để thăm dò ý kiến tính bằng mili giây.
- Nối một số với khóa sau:
com.google.android.glass.otaservice.UPDATE_FREQUENCY
- Ý định này cũng bắt đầu một quy trình kiểm tra OTA ngay lập tức nếu chưa kiểm tra.
- Cần có số lớn hơn 900.000 mili giây
- Nếu một OTA đang diễn ra, thì khoảng tần suất sẽ được cập nhật sau khi quá trình kiểm tra hiện tại hoàn tất. Đây là yêu cầu bắt buộc, nếu không, Android Doze có thể làm gián đoạn dịch vụ.
Ý định có thể được gửi bởi startActivityForResult
. Phản hồi sẽ được gửi lại cho lệnh gọi lại onActivityResult
kèm theo RESULT_OK
khi thành công hoặc RESULT_CANCELLED
khi không thành công. Sau đó, một thông báo sẽ được nhập vào nhật ký thiết bị để
khắc phục sự cố.
Ý định cũng có thể được gửi bởi các lệnh adb như sau:
adb shell am start \ -a com.google.android.glass.otaservice.UPDATE_LOCATION_ACTION \ --es com.google.android.glass.otaservice.UPDATE_LOCATION "some_URL_for_json_file" \ -n com.google.android.glass.otaservice/.OtaSettingsActivity adb shell am start \ -a com.google.android.glass.otaservice.UPDATE_FREQUENCY_ACTION \ --el com.google.android.glass.otaservice.UPDATE_FREQUENCY 1800000 \ -n com.google.android.glass.otaservice/.OtaSettingsActivity
Trình nền OTA sẽ chạy dưới dạng JobService
15 phút một lần trở lên, tuỳ thuộc vào chế độ cài đặt tần suất. JobService
chạy khi khởi động và tiếp tục chạy cho đến khi một trọng tải đã cập nhật được chấp nhận và xác minh.
Dịch vụ nền chỉ thăm dò ý kiến nếu có Wi-Fi trực tuyến và đã kết nối. Tuy nhiên, Wi-Fi không cần có kết nối Internet, chỉ có mạng LAN.
Mọi quy trình xử lý đều diễn ra trong nền. Người dùng không cần nhập dữ liệu trong quá trình xử lý. Một thông báo sẽ xuất hiện trên ngăn thông báo và hệ điều hành sẽ tự động cập nhật khi khởi động lại tiếp theo.
Các bước cập nhật
Hãy làm theo các bước sau để kiểm thử các bản cập nhật OTA:
- Tải xuống và cài đặt ROM thiết bị theo cách thủ công bằng bản cập nhật hiện tại.
- Thẻ Thông tin thiết bị Glass Settings (Cài đặt kính) sẽ hiển thị: current update (bản cập nhật hiện tại).
- Kết nối với mạng Wi-Fi
Thực thi các lệnh adb để trỏ đến tệp json để cập nhật cho bản cập nhật tiếp theo:
adb shell am start \
-a com.google.android.glass.otaservice.UPDATE_LOCATION_ACTION \
--es com.google.android.glass.otaservice.UPDATE_LOCATION "your_json_file_location" \
-n com.google.android.glass.otaservice/.OtaSettingsActivity
adb shell am start \
-a com.google.android.glass.otaservice.UPDATE_FREQUENCY_ACTION \
--el com.google.android.glass.otaservice.UPDATE_FREQUENCY 900000 \
-n com.google.android.glass.otaservice/.OtaSettingsActivity- Thông báo về OTA đang diễn ra
- Thông báo OTA biến mất
- Trong lần khởi động thiết bị thủ công tiếp theo, thiết bị phải cập nhật xong và thẻ thông tin thiết bị cho thấy Cài đặt Glass sẽ hiển thị: new update (cập nhật mới)
Quy trình cập nhật
Sau đây là quy trình chuẩn để thực hiện cập nhật OTA:
- Khi khởi động, trình nền OTA sẽ lên lịch cho lượt thực thi đầu tiên của mình, được xác định theo khoảng thời gian đã chỉ định. Nếu bạn chưa cung cấp khoảng thời gian nào, thì giá trị mặc định sẽ là 15 phút.
- daemon thăm dò máy chủ web để tải tệp siêu dữ liệu xuống. Nếu không có URL nào được cung cấp, daemon sẽ thoát và đợi cho đến khoảng thời gian thực thi tiếp theo.
- daemon chạy các bước kiểm tra sơ bộ trên tệp siêu dữ liệu để đảm bảo rằng các cờ thích hợp đã được đặt. Nếu xảy ra lỗi, daemon sẽ thoát và in đầu ra ra nhật ký. Sau đó, trình nền đợi cho đến khi thực thi được lên lịch tiếp theo.
-
daemon so sánh các mục nhập trong tệp JSON với các mục nhập được lấy từ bản dựng hiện tại đang chạy trên thiết bị. Nếu phát hiện bất kỳ mục nhập nào trong số các mục nhập không khớp, quá trình tải xuống OTA sẽ bắt đầu. Nội dung của tệp siêu dữ liệu được chuyển đến công cụ cập nhật của AOSP.
Không thể tạm dừng cập nhật. Nó tiếp tục cho đến khi thành công, không thành công hoặc hết thời gian chờ.
- daemon tự động tải gói OTA ở chế độ nền.
- Nếu gói OTA đã được tải xuống và xác minh thành công, trình nền sẽ ngừng thăm dò ý kiến về các bản cập nhật mới. Khi khởi động lại, bản cập nhật sẽ có hiệu lực. Một thông báo sẽ xuất hiện để cho người dùng biết rằng bản cập nhật sẽ được áp dụng vào lần khởi động lại tiếp theo.
- Nếu không tải xuống được OTA, trình nền sẽ thăm dò ý kiến về máy chủ web sau khi khoảng thời gian đã chỉ định trôi qua lại.
Bản cập nhật ứng dụng
Các bản cập nhật ứng dụng trong EE2 sẽ được xử lý như các bản cập nhật Android tiêu chuẩn. Có hai tùy chọn chính:
- Sử dụng giải pháp MDM (Quản lý thiết bị di động) hoặc tạo ứng dụng chủ sở hữu thiết bị của riêng bạn và cập nhật ứng dụng một cách im lặng. Bạn có thể dùng PackageInstaller API Android để làm việc này.
- Sử dụng Android API PackageInstaller trực tiếp từ ứng dụng để tự cập nhật ứng dụng. Hộp thoại hệ thống sẽ xuất hiện trong trường hợp này.