Tôi có thể bật gỡ lỗi USB bằng adb không?


16

Tôi sở hữu một chiếc Samsung Galaxy S3 và màn hình bị hỏng và quá trình gỡ lỗi USB cũng bị tắt.

Làm thế nào tôi có thể kích hoạt nó bằng cách sử dụng ./adbcác lệnh? Tôi đã thực hiện các bước này rồi:

  • data/data/com.android.providers.settings/databases/settings.dbthay đổi adb_enabledgiá trị từ 0 thành 1.
  • Cũng chỉnh sửa build.proptrong /system.

Sau khi làm tất cả những điều này, điện thoại dường như bị brick, nó không bật. Tất cả những gì tôi muốn làm là kích hoạt gỡ lỗi USB và kết nối nó với Vysor (beta) để tôi có thể điều khiển nó trên máy tính của mình.


1
Chào mừng bạn Câu hỏi hay. +1. Tại sao bạn muốn điều khiển từ xa điện thoại?
không thể

Cảm ơn ... Bởi vì màn hình bị hỏng và tôi muốn duyệt dữ liệu trong đó. Mặc dù tôi đã tìm ra nó đêm qua ... :)
TheOnlyAnil

Cách thích hợp để bật gỡ lỗi USB là giải nén boot.img, chỉnh sửa init.rc (bật adb, sau đó vô hiệu hóa RSA verificaton), đóng gói boot.img và boot boot.img mà không cần flash. Sau khi chỉnh sửa đã được xác nhận hoạt động, sau đó flash boot.img vào thiết bị.
HasH_BrowN

Câu trả lời:


12

Tôi đã nhận nó để làm việc :)

LƯU Ý : Điều này yêu cầu bộ nạp khởi động đã mở khóa.

  • Kết nối thiết bị với Mac hoặc PC trong recovery mode. (Tôi đã phải lập bản đồ quá trình trong tâm trí của tôi khi màn hình bị hỏng).
  • Bây giờ hãy mở terminal / CMD trong máy tính và đi đến platform-tools/. nhập và nhập ./adb devicesđể kiểm tra xem thiết bị có được kết nối ở chế độ khôi phục không.
  • Bây giờ gõ ./adb shell mount data./adb shell mount systemđể gắn kết các thư mục tương ứng.
  • Nhận persist.sys.usb.configtệp trong hệ thống của bạn bằng cách sử dụng./adb pull /data/property/persist.sys.usb.config /Your directory
  • Bây giờ hãy mở tập tin đó trong một texteditor và chỉnh sửa nó mtp,adbvà lưu lại.
  • Bây giờ đẩy tập tin trở lại trong thiết bị; ./adb push /your-directory/persist.sys.usb.config /data/property
  • Lấy tệp build.prop; ./adb pull /system/build.prop /your-directory
  • Thêm các dòng sau:

    kiên trì.service.adb.enable = 1                                                    
    kiên trì.service.debuggable = 1
    kiên trì.sys.usb.config = mtp, adb
  • Đẩy build.prop trở lại thiết bị; ./adb push /your-dir/build.prop /system/

Bằng cách này, bạn đã bật gỡ lỗi USB trên thiết bị của mình. Nhưng bạn vẫn không thể kết nối. Tại sao? Bởi vì nó yêu cầu xác minh RSA. Nếu bạn có thể xem màn hình của mình thì bạn có thể dễ dàng nhấn vào YESđể ủy quyền cho thiết bị. Tôi hiện đang tìm cách bỏ qua điều này. Tôi muốn làm sống lại chiếc điện thoại đã chết của tôi. Nếu bạn biết bất kỳ cách nào để làm điều này, xin vui lòng chia sẻ :)


Bạn đang chạy Recovery tùy chỉnh?
Firelord

Không. Phục hồi cổ phiếu là nó.
TheOnlyAnil 27/08/2015

1
Về phần xác nhận RSA của người dùng, nếu bạn đã khởi động vào HĐH Android và được xác nhận bằng cách nào đó màn hình đang hiển thị hộp thoại để xác nhận thì bạn rất có thể sử dụng adb shell input keyeventđể chọn CÓ. Xem Keyevent tại đây . Đó là một phát súng trong bóng tối nhưng rất có thể đáng để bắn.
Firelord

@Firelord Tôi đã cố gắng để làm điều đó. Nhưng nó nói lỗi ủy quyền. Có vẻ như tôi phải ủy quyền trước rồi mới làm bất cứ điều gì ...
TheOnlyAnil 27/08/2015

1
À! Xin lỗi vì đã đề xuất một cái gì đó sẽ không hoạt động. Tôi đã nghĩ gì? Nếu truy cập ADB không được ủy quyền thì không có cách adb shell inputnào hoạt động. Xin lỗi lần nữa! Tôi sẽ xem liệu có cách nào để bỏ qua ủy quyền bằng cách nào đó.
Firelord

4

Đối với xác minh RSA mà bạn đã yêu cầu bỏ qua, tôi không biết liệu nó có hoạt động trong thiết bị của bạn không, nhưng nó đã hoạt động trong thử nghiệm nhỏ của tôi. Trong Lollipop, các khóa ADB (sau khi ủy quyền) được lưu vào /data/misc/adb/adb_keys. Khóa riêng của bạn được lưu trong máy tính. Trong Linux vị trí thư mục là $HOME/.android/. Trên Windows thường dịch sang %USERPROFILE%\.android, nhưng C:\Windows\System32\config\systemprofile\.androidmột số trường hợp có thể bị khóa trong một số trường hợp. ( Nguồn )

Có một phương pháp được mô tả ở đây bởi ashoke có thể giúp bỏ qua việc ủy ​​quyền.

Tuy nhiên, trong Lollipop của tôi, phương pháp khác nhau. Tôi nhận thấy rằng trong ROM Lollipop chính và phụ của tôi adb_keysthực sự có cùng một khóa. Tất cả những gì tôi đã làm là thu hồi ủy quyền từ ROM thứ cấp (tệp bị xóa tự động), ngắt kết nối thiết bị với PC, sao chép adb_keystừ ROM chính vào ROM phụ, kết nối thiết bị với PC và voila! Tôi đã không được yêu cầu cho phép đó. Tôi đã kiểm tra lại ủy quyền bằng cách sử dụng adb devicesvà tất cả đều tốt.

Hãy thử câu trả lời liên kết đầu tiên. Cho phép một điện thoại Android khác, sao chép các phím của nó vào thiết bị của bạn từ chế độ Recovery và xem nó có hoạt động không.


Này cảm ơn nhé. Tôi đã chuyển adb_keys từ ghi chú 2 sang S3 và nó đã hoạt động :)
TheOnlyAnil

Đây là thông tin cần thiết để làm cho câu trả lời được chấp nhận chính xác. Làm tốt lắm. +1
HasH_BrowN

2
Đối với những người chạy hệ điều hành dựa trên Unix, adb push ~/.android/adbkey.pub /data/misc/adb/adb_keyshoạt động đáng tin cậy.
Chris Olin

@ChrisOlin: cảm ơn bạn đã đóng góp. Nhưng tôi cho rằng adb nên chạy ở chế độ root (adb root), nếu không, người dùng sẽ không thể đặt trực tiếp một tệp dưới / data / misc /. Chính xác?
Firelord

Không chính xác, nhưng bạn đưa ra một câu hỏi hay. Nếu bạn đang cố gắng bật gỡ lỗi USB thông qua ADB, bạn sẽ cần được khởi động vào recovery để thực hiện việc này. Shell phục hồi (ít nhất là với TWRP) mặc định là root. Nếu họ không, thì có, người dùng sẽ không thể đẩy trực tiếp đến / data / misc.
Chris Olin
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.