Khi flash ROM tùy chỉnh, tại sao tôi lại gặp lỗi trên getprop (tại ro ro.product.device tựa)?


7

Bất cứ khi nào tôi cố gắng flash ROM trên ASUS Transformer Prime (tf201), tôi sẽ gặp lỗi sau:

assert failed: getprop("ro.product.device") == "tf201" || getprop("ro.build.product") == "tf201"

Tôi đã khắc phục bằng cách mở tệp ZIP của ROM, điều hướng đến /META-INF/com/google/android/updater-scriptvà chỉ cần xóa kiểm tra này. ROM cài đặt tốt rồi.

Nhưng tôi vẫn để lại câu hỏi: tại sao thiết bị của tôi không được công nhận là tf201, trong khi rõ ràng là vậy? Có phải vì tôi định dạng systemphân vùng theo định dạng điên cuồng?


Tôi đã có một điều tương tự trên Galaxy Tab4 10.1 mang nhãn hiệu Vodacom, tôi tin rằng họ đã làm sai khi thay đổi ROM của một model khác và quên cập nhật id thiết bị hoặc cố tình cài đặt ROM flash hoặc tùy chỉnh khó hơn một chút.
David d C e Freitas

Tôi gặp vấn đề tương tự, vì thiết bị của tôi đã không được đăng ký sau khi khôi phục cài đặt gốc và TWRP không được phép đọc /system/build.prop.
dùng173283

Câu trả lời:


4

Vui lòng đảm bảo rằng build.proptrong thư mục / HỆ THỐNG của bạn được cấu hình đúng và có bộ biến ro.product.device, thường thời gian trong các ROM tùy chỉnh, build.prop không được cấu hình hoàn toàn và một số biến này là cần thiết cho một số kiểm tra chức năng nhất định. Bạn có thể mở nó trong một trình soạn thảo văn bản và tìm kiếm nó và đảm bảo rằng nó được đặt và không có ký tự xấu nào trong đó có thể ảnh hưởng đến việc nó được phân tích cú pháp đúng cách.

Ngoài ra, hãy kiểm tra các biến này và đảm bảo rằng chúng cũng được đặt, thật tốt khi có chúng:

  • ro.product.model = XXX
  • ro.product.brand = XXX
  • ro.product.name = XXX
  • ro.product.device = XXX
  • ro.product.board = XXX
  • ro.product.man sản xuất = XXX

3

Điều này có thể được gây ra bởi nhiều lý do, lý do chính là sự phục hồi không tương thích, trong đó các biến thích hợp không được đặt chính xác. Hãy thử sử dụng một phục hồi khác (ví dụ: TWRP) và xem bạn có đang gặp lỗi này không.

Một giải pháp tạm thời cho việc này sẽ là:

Bạn chỉ có thể mở tệp zip, giải nén

META-INF / com / google / android / updater-script

và xóa các dòng getprop, trông giống như:

getprop (xyz) == "xyzyxz");

dòng từ nó. Những dòng này thường nằm ở phần đầu của tập tin updater-script.

Như bạn nói rằng ROM là "cho" thiết bị của bạn, điều này sẽ không gây ra vấn đề gì.

Sau đó, chỉ cần kéo-thả trở lại tập tin updater-script, quay lại zip. Bây giờ, nhấp nháy sẽ không gây ra bất kỳ vấn đề.

Lưu ý rằng:

Sử dụng các chương trình như 7-zip hoặc WinRAR , trong khi trích xuất tệp kịch bản cập nhật. Sử dụng trình soạn thảo văn bản Notepad ++ hoặc các lựa chọn thay thế như Geany , hỗ trợ các định dạng EOL của Linux.


5
Cẩn thận: Mặc dù loại bỏ kiểm tra trong bối cảnh cụ thể này là tốt, bạn không nên làm điều đó nhẹ nhàng; kiểm tra là có lý do tốt. Nếu bạn làm như vậy, bạn phải chắc chắn rằng ROM tương thích với thiết bị của bạn. Nếu không, bạn có thể gặp rắc rối nghiêm trọng và thậm chí (làm mềm) thiết bị của mình. // @Vineeth: Không phải là một bài phê bình, câu trả lời của bạn là hoàn toàn tốt trong bối cảnh. Tuy nhiên, tôi sẽ bao gồm cảnh báo đó cho những "người đọc nhanh";)
Izzy

2
Ngoài ra, để bổ sung cho @ bình luận Izzy, bạn không nên chỉ cập nhật updater-scriptvà tái đóng gói nó trở lại vào kho lưu trữ, bởi vì đó là file zip được ký kết sau khi thế hệ của ban đầu update.zip . Và do sự thay đổi trong tệp zip do đó, tổng kiểm tra SHA256 sẽ không khớp, sẽ gây ra thảm họa. Tổng kiểm tra SHA256 được báo cáo và chứa trong chính tệp zip, nếu khôi phục được kiểm tra, nó sẽ gắn cờ, có thể đưa ra thông báo lỗi hoặc từ chối xử lý.
t0mm13b

Đối với tôi, việc cập nhật phục hồi lên phiên bản mới nhất đã giải quyết được vấn đề này. Tôi nghĩ rằng đây nên là quá trình hành động đầu tiên trước khi sửa đổi tập lệnh thiết lập.
Arthur.V

Điều này đã giải quyết được vấn đề cho tôi, tôi TỰ TIN có một thiết bị 'matisselte' (TAB4 10.1 SM-T535), nhưng tôi nghĩ rằng nhà điều hành mạng (Vodacom), người đã gắn nhãn hiệu đó đã nhầm lẫn và đặt biến là matissewifikhông chắc chắn. Tôi đã tạo dòng đầu tiên của /META-INF/com/google/android/updater-scripttệp để khớp với mô hình của mình và tôi đã cài đặt đúng ROM (matisselte) và nó đã hoạt động.
David d C e Freitas
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.