Nhiều lần sao lưu / khôi phục ADB riêng lẻ liên tiếp mà không cần nhắc


8

Tôi đã xem xét cách thực hiện sao lưu hàng loạt thông qua các lệnh sao lưu / khôi phục adb riêng lẻ (để có các tệp .ab riêng biệt cho mỗi gói / ứng dụng / dữ liệu / v.v.) (Tôi biết ứng dụng máy tính để bàn Helium (Carbon) là một tùy chọn cho điều này - dù sao cũng sẽ thích viết kịch bản của riêng tôi cho vui).

Lý do muốn tạo các tệp .ab riêng lẻ so với tệp lớn là tôi muốn có thể có chức năng sao lưu / khôi phục một phần cho chỉ các gói riêng lẻ và không phải thực hiện, ví dụ, 50 ứng dụng cùng một lúc.

Trở ngại chính tại thời điểm này là mỗi khi xảy ra sao lưu / khôi phục, đầu vào của người dùng phải được đưa ra khi lời nhắc xuất hiện - có cách nào để có thể sử dụng sao lưu / khôi phục adb cho nhiều gói riêng lẻ thông qua một số thứ như một kịch bản shell?

Cảm ơn!

Câu trả lời:


2

Bạn có thể thử sử dụng adb shell input tap <x> <y>vị trí x và y là tọa độ của nơi bạn muốn nhấn trên màn hình (có thể hiển thị các cuộn dây trong Tùy chọn nhà phát triển). Tôi đã có thể sử dụng mã này để khôi phục một bản sao lưu riêng lẻ:

#$1 is backup file

adb restore ${1} &
sleep 2
adb shell input touchscreen tap <x> <y>
wait

Tôi thấy nó hữu ích để ngủ trong vài giây sau lệnh khôi phục, nhưng nó có thể không cần thiết.


1

Vì vậy, có vẻ như không có cách nào được xây dựng và (ít nhất là dường như) dự định cho chúng tôi làm điều này.

Thay vào đó, điều này có thể thông qua adb shell sendeventlệnh - điều này có thể mô phỏng đầu vào cảm ứng từ máy tính với các công cụ adb (và bất kỳ trình điều khiển có liên quan nào) được cài đặt, miễn là điện thoại đã cung cấp quyền truy cập adb vào máy cụ thể đó.

Các sự kiện có thể được ghi lại bằng cách sử dụng adb shell geteventvà phát lại với adb shell sendevent. Sau đó, người dùng có thể ghi lại các nút bấm chấp nhận và lưu tập lệnh phát lại chúng. Tất nhiên, điều này giới thiệu các vấn đề như khi có lớp phủ màn hình (ví dụ: từ các ứng dụng chiếu sáng thay đổi màu đỏ) ngăn nhấn nút, nếu có thứ gì khác xuất hiện (có thể là bong bóng trò chuyện, v.v.) và bất kỳ số vật cản nào khác, vì vậy, đó là một cách giải quyết tốt nhất


0

Điều này có vẻ đặc biệt kỳ lạ, nhưng theo cách xấu xa được mong đợi của google. Từ sự hiểu biết chưa đầy đủ nhưng ngày càng tăng của riêng tôi - bạn có thể chuyển đổi tệp khôi phục thành tệp tar bằng cách thay đổi 24 byte đầu tiên. Vì vậy, câu hỏi là, một trích xuất tar đơn giản theo một cách cụ thể (tạm thời một cái gì đó hoặc rw khác?) Hoàn thành điều tương tự mà khôi phục adb đang làm? Tất nhiên nguồn là lý thuyết tất cả ở đó. Cuối cùng tôi đã lên kế hoạch thử mọi thứ và xem liệu chúng có vẻ hoạt động đủ tốt để biện minh cho việc không đủ quan tâm để đào qua nguồn đó. Vâng, đây là một câu trả lời khá nhảm nhí, nhưng có vẻ đáng giá như một người giữ chỗ cho đến khi một kịch bản shell adb nhỏ với lời mời tar hoặc tương tự diễn ra, đó là những gì tôi đoán người hỏi ban đầu và tôi muốn xem.

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.