Những gì cần làm là gói boot.img và tạo một tệp zip mới phù hợp để flash qua ClockworkMod hoặc TWRP.
Điều kiện tiên quyết :
- một môi trường Linux có các gói phát triển thông thường, như Java đã cài đặt. ( Nó cũng có thể áp dụng cho các nền tảng khác, chỉ cần cẩn thận rằng các hướng dẫn ở đây chỉ ra đường dẫn được sử dụng bên dưới, sử dụng dấu gạch chéo về phía trước
/
, vì vậy hãy lật nó để trở thành dấu gạch chéo ngược \
cho môi trường Windows! )
- công cụ dòng lệnh adb được cài đặt.
- Công cụ `testsign.jar ' , để ký tệp zip để phục hồi có thể xác thực và xác minh nó là một kho lưu trữ hợp lệ nếu không phục hồi sẽ báo cáo lưu trữ bị hỏng hoặc tương tự.
update-binary
ứng dụng dòng lệnh , đó là nội bộ để sử dụng với tập lệnh flashable. (Điều này có thể được tìm thấy với bất kỳ zip có thể flash, điều quan trọng là trích xuất nhị phân đó và gửi trong cấu trúc của thư mục như được hiển thị)
- công cụ dòng lệnh zip.
Giả sử thư mục của bạn được gọi là workdir , để thảo luận, hãy gọi đây là thư mục làm việc, sao chép boot.img
thư mục đó và tạo cấu trúc thư mục sau - META-INF/com/google/android
, điều này rất quan trọng! Và trong META-INF/com/google/android
, sao chép ứng dụng nhị phân được gọi update-binary
vào thư mục đó. Vì vậy, cấu trúc thư mục nên như thế này:
+ workdir/
+
|
+--+ boot.img
|
|
+--+ META-INF/
+
|
+--+ com/
+
|
+--+ google/
+
|
+--+ android/
+
|
+--> update-binary
|
+--> updater-script
Đối với updater-script
, sao chép nội dung sau đây:
ui_print("Please wait, boot.img being flashed...");
show_progress(0.1, 0);
assert(package_extract_file("boot.img", "/tmp/boot.img"),
write_raw_image("/tmp/boot.img", "boot"),
delete("/tmp/boot.img"));
show_progress(0.1, 10);
ui_print("It is now safe to reboot! :)");
Hãy nhớ rằng: Đừng nhầm lẫn ở đây, tập lệnh cập nhật như được hiển thị, nên được để yên và nguyên trạng, vì vậy đừng thử lật dấu gạch chéo về phía trước thành dấu gạch chéo ngược nếu thực hiện điều này trong môi trường Windows.
Quay trở lại cha mẹ của cấu trúc thư mục, tức là bên ngoài workdir và làm như sau, chúng ta sẽ tạo một tệp zip từ đây:
zip -r my_custom_flashable_boot_unsigned.zip workdir/
là một hàm đệ quy, điều này sẽ nén mọi thứ vào tệp có tên my_custom_flashable_boot_unsign.zip .
Cuối cùng, để ký vào tệp zip, hãy đưa ra điều này:
java -classpath testsign.jar testsign my_custom_flashable_boot_unsigned.zip my_custom_flashable_boot_signed.zip
Sau đó, vấn đề của nó là đẩy SDCard qua adb push my_custom_flashable_boot_signed.zip /sdcard/
và khôi phục thủ công và chỉ định kho lưu trữ zip đó (ví dụ my_custom_flashable_boot_sign.zip ) trong đó nó sẽ thực hiện nhấp nháy cho bạn.