2012-06-11 48 views
6

Tôi đã từng bị sử dụng adb.exe.quyền adb shell android bị từ chối

Tôi muốn sử dụng adb.exe vỏ nhanh chóng giống như bash, vì vậy tôi quyết định thay đổi nhị phân bash mặc định (tất nhiên nhị phân được chéo biên soạn, và tất cả mọi thứ là hoàn hảo)

thay đổi bash nhị phân được theo sau dưới đây để

  1. adb remount
  2. adb push bash /system/bin/

  3. adb shell

  4. cd /system/bin
  5. chmod 777 bash
  6. mv sh sh.bak
  7. ln -s bash sh

sự thay đổi đầu tiên đã thành công, nhưng vấn đề là xảy ra khi thứ hai thử.

Tôi đẩy nhị phân bash mới, nhưng tôi đã bỏ lỡ quyền thay đổi của bash 777 và ngắt kết nối adb shell.

sau

C:\Program Files (x86)\Android\android-sdk\platform-tools>adb.exe shell 
- exec '/system/bin/sh' failed: Permission denied (13) - 

C:\Program Files (x86)\Android\android-sdk\platform-tools> 

Có bất kỳ ý tưởng thông minh để khắc phục vấn đề giấy phép này?

hãy giúp tôi ...

Trả lời

1

Nếu thiết bị đã không bị rơi hoàn toàn (/ system/bin/sh là một sự phụ thuộc đối với rất nhiều thứ - khởi động lại có thể không nhận được rất xa!) Và phân vùng hệ thống vẫn có thể ghi, bạn có thể adb đẩy một bản sao mới của bash, nơi bạn đã thiết lập các bit quyền như mong muốn trên hệ thống máy chủ trước khi đẩy nó (bạn có thể phải sử dụng cygwin hoặc thậm chí linux để có quyền truy cập bit cục bộ)

Có vẻ như thiết bị đã được root, vì vậy bạn có thể cấu hình hoặc tùy chỉnh ứng dụng trình mô phỏng đầu cuối để cung cấp cho bạn phiên sử dụng sao lưu sh, chạy sao lưu sh một lần nữa như root bằng cách sử dụng một số công cụ leo thang, và sau đó sửa chữa vấn đề.

Nếu bạn có khôi phục đã sửa đổi với adb, bạn có thể khắc phục sự cố từ đó bằng cách gắn phân vùng hệ thống (bình thường) theo cách thủ công.

Khu nghỉ mát cuối cùng sẽ khôi phục từ hình ảnh vani được nhà cung cấp ký.

Hy vọng bạn không bị kẹt, nhưng có lẽ bạn đã học được từ trải nghiệm này - việc thay đổi vỏ mặc định có thể không phải là một ý tưởng hay. Nó sẽ là tốt hơn để tải vỏ tùy chỉnh của bạn dưới một tên khác và chạy nó bằng tay.

+0

có một thiết bị đầu cuối tùy chỉnh khác không chỉ adb ?. Nếu có thiết bị đầu cuối chạy nhị phân cụ thể được đặt trong điện thoại của tôi, sự cố sẽ được khắc phục dễ dàng. nhưng tôi không thể tìm thấy thiết bị đầu cuối tùy chỉnh này, bạn có thể cho tôi một số từ khóa về điều này không? –

+0

tôi đặt quyền trong linux và đẩy mã nhị phân này vào điện thoại của tôi. nhưng lỗi quyền vẫn xảy ra. Tôi cho rằng quyền không phải là tài sản của tệp. thx –

+0

Bạn có thể có một số vấn đề khác ngoài quyền truy cập tệp, hãy thử đẩy lại bản sao của trình vỏ Android gốc. Bất kỳ ứng dụng đầu cuối nào bạn xây dựng từ nguồn sẽ có thể được tùy chỉnh trong những gì nó khởi chạy, có thể một số bản dựng sẵn thậm chí còn cung cấp tùy chọn trình đơn mặc dù tôi không nhớ lại việc đó. –

1

Giải pháp chung để thực hiện những việc như vậy: xóa ứng dụng hệ thống và tất cả.

adb shell 
mount -o rw,remount -t yaffs2 /dev/block/mtdblk4 /system 
cd /system/app/ 
rm maps.apk 
mount -o ro,remount -t yaffs2 /dev/block/mtdblk4 /system 
sync 
reboot 
+1

điều này không thể giúp, trong trường hợp của tôi, tôi không thể thực thi lời nhắc shell bằng cách sử dụng vỏ adb (quyền của tệp bash không có excutable) Tôi giải quyết vấn đề của mình bằng cách định dạng toàn bộ chương trình cơ sở cảm ơn bạn đã trả lời! –

0

Nếu bạn có phiên bản gần đây của CWM cài đặt bạn có thể được lưu

a) Thu hồi khởi động lại adb (khởi động điện thoại của bạn vào phục hồi)

b) trong CWM phục hồi mount/phân vùng hệ thống (sử dụng điện thoại của bạn).

c) adb kill-server

d) sudo adb khởi động máy chủ

e) adb shell

f) Do điều bạn thiết lập cho phép của bạn một cách chính xác

tôi bị ảnh hưởng bởi câu trả lời ở đây https://android.stackexchange.com/questions/38085/is-it-a-hard-brick/113507#113507?newreg=6e0c0c0be98349058d3e1668532cd7dc

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