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
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.
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.
Đẩ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 su
và khôngsu.pie
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)
- Đặt lệnh
install
trê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
Đặ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ậ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.9
và 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-system
tham 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