Update.zip hoạt động như thế nào?


14

update.zip là các gói chứa thay thế cho các bộ phận của hệ thống Android. Các gói chứa tất cả các tệp mà bản cập nhật dự định thay thế và một tập lệnh sẽ thực hiện thay thế khi chạy.

Update.zips có thể đến từ các bản cập nhật OTA nhưng trong một số trường hợp cần phải tải xuống thủ công và đặt update.zip vào một số thư mục đặc biệt. Tuy nhiên, update.zip vẫn được phát hiện và áp dụng theo cách tương tự.

Phần nào của Android phát hiện và xử lý update.zips?

Câu trả lời:


18

update.zip không bao giờ được chạm vào Android.

Bên trong kho lưu trữ đó là một tập lệnh được phân tích cú pháp và diễn giải bởi thời gian chạy Recovery.

Recovery, khi thực thi, mở tệp lưu trữ bằng cách giải nén vào một thư mục tạm thời, đọc tập lệnh, đặt tên một cách khéo léo update-script, phân tích nó và dựa trên cú pháp, thực thi một hàm được biết đến với Recovery, hàm đó có thể thực hiện như sau, để đặt tên nhưng vài:

  • gắn kết /systemvà các hệ thống tệp khác, và thực hiện các hoạt động đọc / ghi tệp bao gồm, sao chép kernel hoặc apk hoặc thậm chí định dạng phân vùng, v.v.
  • kiểm tra các build.propthuộc tính nhất định, chẳng hạn như thiết bị, nhà sản xuất, v.v.
  • in màn hình ra màn hình, thông tin tiến độ vv

Đó là khá nhiều tiêu chuẩn thực tế được tích hợp vào Dự án mã nguồn mở Android (AOSP)

ClockworkMod, TWRP là các dẫn xuất của phiên bản barebones nằm trong AOSP với các cải tiến bổ sung, chẳng hạn như đầu vào màn hình cảm ứng.


+1 rất thú vị. Vì vậy, phục hồi không phải là một phần của chính Android? Nó rơi vào cái gì? Một phần của Linux, một thực thể riêng biệt?
RossC

2
@RossC Các hợp môi trường phục hồi, cư trú trên một riêng biệt /recoveryphân vùng (một số nhà sản xuất không làm điều này vì một lý do không rõ, phục hồi giả) barebones giới hạn Android, tùy thuộc nếu phục hồi chứng khoán, vỏ hạn chế vs CWM / TWRP mà gói hơn, bên cạnh đó, quyền root . Một niềm vui của người kiểm duyệt thực sự là một thiết bị có phân vùng riêng để phục hồi.
t0mm13b

1
/recoverykhông giống như một phân vùng. Trong Linux đó chỉ là một thư mục. Nó có thể là một phân vùng được gắn kết - nhưng nó vẫn chỉ là một thư mục. Tôi nói điều này bởi vì đó là một quan niệm sai lầm phổ biến tôi đã nhận thấy ở người dùng Android.
jcora

@yannbane - hãy thử điều này cat /proc/mtdhoặc xem xét /proc/partitionscách thức hoạt động của bộ tải khởi động, nếu vol dwn được nhấn, bootloader đọc kernel từ đó /recoveryvà tải chuỗi lên để phục hồi hoặc phục hồi tùy chỉnh. Nó không phải là linux ....
t0mm13b
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.