2013-08-06 54 views
25

chúng tôi có android + linux m/c, chúng tôi đăng nhập vào vỏ linux và khởi động máy trong GUI android. bây giờ chúng tôi có một số tập lệnh đang chạy trên cùng một máy thông qua trình bao Linux. Trong trường hợp đó khi kịch bản bị treo, chúng ta cần phải khởi động lại máy android. nhưng nó cũng dẫn đến việc khởi động lại máy linux. vì chúng ở trên cùng một máy. vì vậy tôi cần cách để khởi động lại Android để nó đi ra khỏi nhà nước treo và kiểm soát vẫn còn trên kịch bản đang chạy thông qua vỏ Linux.Khởi động lại máy android

vì vậy có bất kỳ lệnh adb hoặc linux nào phù hợp với tôi không?

+1

** khởi động lại adb ** khởi động lại cả trong số họ? – EvZ

+0

có khi cả hai máy trên cùng một máy. – Sagar

+1

"m/c" là gì? Vui lòng [sửa] câu hỏi của bạn và làm rõ, sau đó gắn cờ nhận xét này là lỗi thời. – unforgettableid

Trả lời

27

Bạn có thể khởi động lại thiết bị bằng cách gửi phát sóng sau:

$ adb shell am broadcast -a android.intent.action.BOOT_COMPLETED

72

Bạn đã thử chỉ cần 'khởi động lại' với adb?

adb reboot 

Ngoài ra bạn có thể chạy kịch bản shell đầy đủ (ví dụ như để khởi động lại giả lập của bạn) thông qua adb:

adb shell <command> 

tôi tóm tắt một vài lệnh adb trên trang của mình here có thể giúp bạn.

+0

đọc câu hỏi của tôi một cách cẩn thận ... khi tôi làm adb khởi động lại máy android và linux cả hai đều được khởi động lại khi chúng ở trên cùng một máy. tôi muốn khởi động lại máy android nhưng không phải vỏ linux. – Sagar

+0

Có, tôi hiểu điều đó, nhưng ví dụ trên của tôi cho thấy, làm thế nào để gửi lệnh khởi động lại đến ví dụ của android trên máy tính của bạn. Tôi nghĩ, máy android chạy như vm trong một trình mô phỏng, hoặc bạn có nghĩa là, android đang chạy tự nhiên? trên máy tính nào. xin vui lòng giải thích vấn đề của bạn cụ thể hơn sau đó. Android chạy trên các máy cánh tay nhưng không chạy trên x86 (nguyên bản), vì vậy phiên bản Android của bạn nằm trong trình giả lập, phải không? – alex

+0

không có nó đang chạy nguyên bản. và Android chạy nguyên bản trên x86 m/c quá. tôi có máy android + linux. ngay bây giờ được khởi động trong Android. tôi đăng nhập thông qua xshell để vỏ máy linux đó. tôi chạy một số kịch bản thông qua đó wihch vỏ giao tiếp với Android. khi tôi phát hiện ra rằng android được treo cổ thì tôi muốn khởi động lại hệ thống nhưng khi tôi khởi động lại hệ thống nó cuối cùng khởi động lại Linux quá. i dnt muốn khởi động lại linux vì script đang chạy qua shell linx. – Sagar

12

adb reboot không được khởi động lại hộp linux của bạn.

Nhưng trong mọi trường hợp, bạn có thể chuyển hướng các lệnh với một thiết bị adb cụ thể sử dụng adb -s <device_id> command, nơi

Device ID có thể được lấy từ các lệnh adb devices
lệnh trong trường hợp này là reboot

0

Tôi nghĩ cách duy nhất để làm điều này là chạy một máy khác song song và sử dụng máy đó để ra lệnh cho hộp android của bạn tương tự như cách bạn làm với điện thoại. Nếu bạn có vấn đề với IP thay đổi, bạn có thể đặt một ip trên router của bạn và có máy lấy mà thay vì yêu cầu các bộ định tuyến DHCP cho một. Bằng cách này bạn có thể ping máy và tìm ra nếu nó được thực hiện khởi động lại để tiếp tục kịch bản.

Các vấn đề liên quan