Tại sao tôi không thể truy cập root từ shell?


14
> adb shell
sh-4.1$ su
Permission denied

Tôi đã root điện thoại thành công. Tôi biết điều này bởi vì tôi có thể cài đặt ứng dụng trên thẻ SD và tôi có một chương trình có tên SD Maid có thể hoạt động với quyền root.


Cài đặt ứng dụng trên SDCard không nhất thiết phải có root và SDMaid cũng (một phần) hoạt động mà không có, vì vậy đó không phải là bằng chứng. Mặt khác, trích dẫn từ vỏ của bạn dường như chứng tỏ bạn không thành công với việc root của mình. Khi kiểm tra các ứng dụng đã cài đặt của bạn, có SuperUser hoặc SuperSU không? Bạn có nhận được lời nhắc như "quyền root được yêu cầu SDMaid" mà bạn cần xác nhận không?
Izzy

@Izzy Tôi nhận được thông báo như thế SD Maid has been granted super root permissionsnào? Ngoài ra, tôi vừa cài đặt play.google.com/store/apps/ , và nó yêu cầu tôi xác nhận siêu người dùng được cấp thành công.
Kshitiz Sharma

@Izzy Tôi xin khác. Cài đặt ứng dụng trên SDCard không yêu cầu root điện thoại của bạn. Bạn có thể chỉ ra một ví dụ trái ngược?
Kshitiz Sharma

Chắc chắn: Truy cập Cài đặt-> Ứng dụng-> Quản lý ứng dụng và xem qua chúng. Các ứng dụng hỗ trợ có thể được di chuyển đơn giản bằng cách nhấn vào nút tương ứng. Thứ hai: Hãy xem AppMonster , ngay trong ảnh chụp màn hình đầu tiên, bên dưới "biểu tượng mặt trăng" của "Bộ đếm thời gian buồn ngủ": ứng dụng này hỗ trợ App2SD, không cần root. AppMonster có thể di chuyển nó (không yêu cầu root), và thậm chí sẽ đề nghị làm như vậy. App2SD được hỗ trợ nguyên bản kể từ Android 2.2. Theo thẻ Câu hỏi thường gặp: App2SD
Izzy

Đối với các bình luận trước: OK, ack đầy đủ mà root đã hoạt động. Một lần nữa, vui lòng kiểm tra ứng dụng của bạn cho SuperUser / SuperSU, lần này hãy khởi động ứng dụng. Trong cấu hình của nó, nó sẽ cho bạn thấy những quyền mà nó đã được lưu trữ; có thể bạn đã vô tình kiểm tra "ghi nhớ" và nhấn nút "từ chối" cho vỏ adb. Nếu bạn tìm thấy một mục tương ứng, chỉ cần loại bỏ nó. Lần tới bạn nên được hỏi lại, sau đó hãy chắc chắn nhấn đúng nút :)
Izzy

Câu trả lời:


14

Từ đây :

Bạn có thể cần kích hoạt root adb từ menu cài đặt của nhà phát triển. Nếu bạn chạy root adb từ dòng cmd, bạn có thể nhận được:

quyền truy cập root bị vô hiệu hóa bởi cài đặt hệ thống - bật trong cài đặt -> tùy chọn phát triển

quyền truy cập root bị vô hiệu hóa bởi cài đặt hệ thống - bật trong cài đặt -> tùy chọn phát triển Khi bạn kích hoạt tùy chọn gốc (chỉ ADB hoặc Ứng dụng và ADB) adb sẽ khởi động lại và bạn sẽ có thể sử dụng root từ dòng cmd.


5
Cài đặt này không có sẵn trong tất cả các ROM (không thể tìm thấy nó, ví dụ như trong LG Optimus 4X của tôi, tất nhiên là đã được root). IMHO đây là một đặc sản của CyanogenMod.
Izzy

Bạn biết gì về Android, anh bạn? > quyền truy cập root bị vô hiệu hóa bởi cài đặt hệ thống - bật trong cài đặt -> tùy chọn phát triển Khi bạn kích hoạt tùy chọn gốc (chỉ ADB hoặc Ứng dụng và ADB) adb sẽ khởi động lại và bạn sẽ có thể sử dụng root từ dòng cmd.
Nizzy

2

Có một ứng dụng trên Google Play có tên ADBD Insecure của Chainfire . Ứng dụng này cho phép bạn chạy adbd ở chế độ root nếu thiết bị của bạn được root khi chạy ROM Stock của thiết bị. Tôi mới phát hiện ra về ứng dụng này.

Phiên bản trên Google Play không miễn phí, nhưng có sẵn phiên bản miễn phí. Liên kết đến phiên bản miễn phí được liên kết trong phần mô tả ứng dụng trong Google Play.

Điều tuyệt vời về ứng dụng này, nó hoạt động với ROM Stock đã được root. Nếu bạn đang sử dụng kernel tùy chỉnh hoặc ROM tùy chỉnh, có lẽ bạn sẽ không cần ứng dụng này. Nhưng nếu bạn vẫn đang sử dụng rom stock, chỉ cần root, thì bạn có thể muốn tải ứng dụng này cho thiết bị của mình.

adbd Insecure cho phép bạn chạy adbd ở chế độ root nếu thiết bị của bạn đã được root. (Lưu ý rằng nếu bạn đang chạy kernel tùy chỉnh, có khả năng nó đã thực hiện chức năng này)

Nếu bạn đang chạy kernel (do nhà sản xuất điện thoại) tạo ra trên thiết bị của mình, rất có thể adbd đang chạy ở chế độ "bảo mật", ngay cả khi bạn đã root. Ứng dụng này cho phép bạn chạy adbd ở chế độ "không an toàn", cho phép bạn truy cập root trong "adb shell", cho phép truy cập vào các tệp và thư mục hệ thống thông qua "adb push / pull" và cho phép bạn chạy lệnh "adb remount" để thực hiện phân vùng / hệ thống của bạn có thể ghi.

nhập mô tả hình ảnh ở đây


Tôi đã dùng thử ứng dụng ADBD Insecure miễn phí từ luồng XDA gốc trên Oneplus 5 Nougat của tôi bắt nguồn từ Magisk nhưng nó không giúp ích và cũng phá vỡ kết nối MTP ở chế độ gỡ lỗi USB cho đến khi điện thoại được khởi động lại.
Vadzim

0

Ngày nay Magisk thường được sử dụng để root.

Tôi đã thấy rằng trên Oneplus 5 (Oxygen OS, Nougat) của tôi, việc truy cập ứng dụng Magisk Manager, mở màn hình cấp phép siêu người dùng và chuyển đổi Shell (com.android.shell) là đủ để giải quyết vấn đề từ chối quyền adb su.


0

Cho phép truy cập root cho adb từ menu cài đặt của nhà phát triển. Sau đó kết nối cáp usb của bạn và gõ:

adb root

Nó sẽ trở lại

restarting adbd as root

Bây giờ khởi động lại vỏ

adb shell

Stock Android không cung cấp "quyền truy cập root cho adb" trong Dev Options. adb rootchỉ có thể có trên userdebugROM: Tại sao root adb root không làm gì?
Irfan Latif
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.