Root thiết bị ảo Android với Android 7.1.1


12

Tôi đang sử dụng SDK Android chính thức với Trình giả lập Android để tạo Android 7.1.1 (x86) ảo. Tôi cần kiểm tra một số thứ, trong số những thứ khác, một số ứng dụng yêu cầu quyền truy cập root vào thiết bị.

Bây giờ tôi biết rằng tôi có thể adb rootvà tôi có một vỏ gốc, nhưng điều đó không cho phép các ứng dụng tôi cài đặt có quyền truy cập root.

Tôi đã nghiên cứu chủ đề này bây giờ và đã thấy nhiều cách tiếp cận khác nhau. Hầu hết các câu trả lời thiên đường đã được đăng cách đây khá lâu.

Tôi nghĩ thật kỳ lạ khi không có tùy chọn nào để chuyển đổi root - đây là sau tất cả SDK.

Làm cách nào để tôi root thiết bị ảo Android, chạy Android 7.1.1, cho phép truy cập root ứng dụng một cách hiệu quả?

chỉnh sửa: Tôi không muốn dùng đến các trình giả lập trả phí như Genymotion nếu có thể.

chỉnh sửa2: Điều này chỉ dành cho sử dụng cá nhân.

edit3: Genymotion dường như là một giải pháp khả thi, như một trình giả lập thay thế. Tại sao SDK / Trình giả lập Android không cung cấp tính năng như vậy?

edit4: Câu trả lời của xavier_fakerat dường như hoạt động hoàn toàn tốt, tuy nhiên kể từ phiên bản Android Studio 3.1, điều này dường như không phải là root vĩnh viễn. Khi AVD được khởi động lại, quyền truy cập root sẽ biến mất.

Câu trả lời:


11

Cách root trình giả lập Android (Android 7.1.1 / Nougat)

Tôi vui mừng thông báo cho cộng đồng một cách dễ dàng hơn để root trình giả lập Android (chạy từ SDK Android độc lập)

Yêu cầu :

Lưu ý: SuperSU hiện không được chấp nhận, nhưng phương pháp này vẫn hoạt động để root trình giả lập và sẽ có nhiều cập nhật hơn cho các phương thức root mới hơn.

Hướng dẫn

  1. Cài đặt SuperSu.apk

    • Trước tiên hãy cài đặt ứng dụng SuperSu, chỉ cần kéo và thả (nếu chạy phiên bản giả lập mới nhất hoặc tải thông qua adb tức là adb –e install supersu.apk)

    • Sau khi cài đặt nó, khi bạn chạy, nó sẽ hiển thị một màn hình như hình bên dưới cho biết không có cài đặt nhị phân SU .. Lỗi này chỉ xác nhận thiết bị chưa được root.

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

  1. Tạo phân vùng hệ thống giả lập 'có thể ghi

    • Như nó gợi ý, chúng ta cần cấp quyền cho trình giả lập để ghi các tệp hệ thống.

    • Nhập mã sau đây để thực hiện điều này: emulator.exe –avd {emulator_name} –writable-system

Lưu ý: Điều hướng đến thư mục công cụ nơi cài đặt SDK Android và mở dấu nhắc lệnh ở đó bằng cách nhấn shift và nhấp chuột phải.

  1. Đẩy su nhị phân trong thư mục hệ thống

    • Trích xuất Recovery flashable.zip (chứa các nhị phân su của các kiến ​​trúc khác nhau)

Quan trọng! Chỉ sử dụng nhị phân su phù hợp với kiến ​​trúc avd của bạn, ví dụ x86, arm, v.v., và lưu ý đường dẫn nơi bạn trích xuất các nhị phân này.

  • Hãy chắc chắn rằng bạn đang chạy adb với quyền root và bạn cũng cần phải truy cập lại. Chỉ cần nhập các mã này

adb root

adb remount

Bây giờ là lúc để đẩy nhị phân su:

Đây là mã tôi đã sử dụng thành công :adb -e push C:\%USERPROFILE%\Desktop\rootemu\x86\su.pie /system/bin/su

(đừng bận tâm về vị trí cụ thể của tôi về nhị phân su, bất kỳ vị trí nào cũng được miễn là không có khoảng trắng)

Nếu thất bại, hãy thử đẩy nó vào thư mục này thay thế /system/xbin/su. Ngoài ra, đối với các trình giả lập chạy Android 5.1 trở xuống, hãy sử dụng suvà khôngsu.pie

  1. Thay đổi quyền của nhị phân su

    • Tiếp theo hãy thực hiện một chút sửa đổi các quyền của nhị phân su. Chúng ta phải làm điều này trong thiết bị giả lập thông qua adb:

    adb –e shell su root cd /system/bin chmod 06755 su

Quan trọng!! Lưu ý đường dẫn nhị phân su (của tôi là / system / bin)

  1. Đặt lệnh installtrên nhị phân su và đặtdaemon

Nhập mã:

su --install

và để thiết lập trình nền:

su --daemon&

Quan trọng!! Lưu ý về khoảng cách

  1. Đặt SELinux thành Permissive (tức là tắt SE Linux)

    • Cuối cùng tắt selinux thông qua mã này:

setenforce 0

Nó khá là nhiều!! Mở ứng dụng SuperSU và nó có thể yêu cầu cập nhật nhị phân, bạn có thể sử dụng phương pháp Bình thường.

Mở bất kỳ ứng dụng nào yêu cầu quyền SU chỉ để kiểm tra hai lần và thực sự SuperSU hỏi bạn có muốn cấp quyền su không.

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

Nhận xét

Hầu hết nội dung trong tài liệu tham khảo là dành cho các phiên bản Android cũ hơn và do đó là lý do cho các lệnh và đường dẫn khác nhau mà tôi đã sửa đổi.

Lời cảm ơn đặc biệt;

Lòng biết ơn đặc biệt đối với Irvin H, người đã hướng dẫn tôi truyền cảm hứng để tạo ra hướng dẫn này sau khi bản thân tôi đã thất bại vô số lần, và sau khi thấy nhu cầu của nhiều người dùng cũng phải root trình giả lập của họ. Tôi hy vọng điều này cũng sẽ có lợi rất nhiều

Irvin H: Root trình giả lập Android Android Studio 2.3 ((Android 4.4)

Cập nhật

Theo nhận xét của SaAtomic,

Cách tiếp cận này vẫn khả thi với Android Studio 3.0.1

Sau khi nâng cấp lên phiên bản giả lập 27.2.9và giờ đây, việc bảo quản root dễ dàng hơn nhiều thông qua tính năng chụp nhanh (nếu sao chép phương thức system.img không hoạt động):

Lý tưởng hơn là giống như ngủ đông thiết bị ảo với cấu hình nguyên vẹn, do đó mọi thứ đều được bảo tồn.

Ảnh chụp nhanh

Bây giờ bạn có thể lưu nhiều ảnh chụp nhanh AVD cho một cấu hình thiết bị nhất định và chọn ảnh chụp nhanh đã lưu nào để tải khi bạn khởi động trình giả lập. Bắt đầu một thiết bị ảo bằng cách tải một ảnh chụp nhanh giống như đánh thức vật lý từ trạng thái ngủ, trái ngược với việc khởi động thiết bị từ trạng thái tắt nguồn.

Điều này ngụ ý yêu cầu duy nhất để khởi động trình giả lập là thêm -writable-systemtham số vào -avd [avdname]lệnh giả lập bình thường để khởi động trình giả lập. (Chạy trình giả lập chỉ với trình giả lập -avd [avdname] không khởi chạy phiên bản gốc / bản sao hoặc có thể dẫn đến một số lỗi)

Đã thử nghiệm trên API cấp 22


1
Cảm ơn bạn đã trả lời chi tiết. Tôi chưa thử, nhưng đây có vẻ là một giải pháp khả thi!
SaAtomic

1
@SaAtomic, các bước của bạn rất hữu ích, Hơn bao giờ hết, Người ta cũng có thể flash Supersu 2.82 / Magisk bằng cách sử dụng phục hồi tùy chỉnh, ví dụ: TWRP và có thể dễ dàng lấy root .... Chúng hoạt động tốt trên mọi 7.1.1 hoặc 7.1.2 thiết bị đang chạy .... Cảm ơn bạn ..
Panchajanya Sarkar

Tôi vừa thử nghiệm điều này với Android SDK 2.3.3 (Trình quản lý AVD) và Pixel ảo bằng Android 7.1.1. Hoạt động đúng như mô tả ngay lập tức. Cảm ơn bạn!
SaAtomic

1
Cập nhật: Cách tiếp cận này vẫn khả thi với Android Studio 3.0.1
SaAtomic

1
Rất có thể bạn đang sử dụng một hình ảnh giả lập sai, bạn cần sử dụng Google APIs Intel x86 Atom System Imagechứ không phảiGoogle Play Intel x86 Atom System Image
xavier_fakerat
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.