Đối với AVD với 5.1.1 và 6.0 tôi đã sử dụng tập lệnh tiếp theo trong windows:
set adb=adb -s emulator-5558
set arch=x64
set pie=
adb start-server
%adb% root
%adb% remount
rem %adb% shell mount -o remount,rw /system
%adb% shell setenforce 0
%adb% install common/Superuser.apk
%adb% push %arch%/su%pie% /system/bin/su
%adb% shell chmod 0755 /system/bin/su
%adb% push %arch%/su%pie% /system/xbin/su
%adb% shell chmod 0755 /system/xbin/su
%adb% shell su --install
%adb% shell "su --daemon&"
rem %adb% shell mount -o remount,ro /system
exit /b
Cần UPDATE.zip từ SuperSU. Giải nén chúng vào bất kỳ thư mục. Tạo tập tin bat với nội dung trên. Đừng quên chỉ định kiến trúc và thiết bị cần thiết: set adb=adb -s emulator-5558
và set arch=x64
. Nếu bạn chạy Android trên hoặc bằng 5.0, hãy đổi set pie=
thành set pie=.pie
. Chạy nó Bạn nhận được root tạm thời cho chạy hiện tại.
Nếu bạn gặp lỗi trên phân vùng hệ thống remount thì bạn cần khởi động AVD từ dòng lệnh. Xem bên dưới bước đầu tiên cho Android 7.
Nếu bạn muốn làm cho nó liên tục - cập nhật nhị phân trong SuperSU và lưu trữ system.img từ thư mục tạm thời thay thế system.img mặc định.
Làm thế nào để chuyển đổi gốc tạm thời kết quả trên một vĩnh viễn
Đầu tiên - nó đi đến SuperSu. Nó cung cấp một nâng cấp nhị phân. Cập nhật theo cách thông thường. Khởi động lại từ chối.
Thứ hai - chỉ liên quan đến các trình giả lập. AVD tương tự. Điểm mấu chốt là những thay đổi trong hình ảnh hệ thống sẽ không được lưu. Bạn cần giữ chúng cho riêng mình.
Đã có hướng dẫn khác nhau cho các trình giả lập khác nhau.
Đối với AVD, bạn có thể cố gắng tìm một tệp system.img tạm thời, lưu nó ở đâu đó và sử dụng khi bạn khởi động trình giả lập.
Trong Windows, nó được đặt trong %LOCALAPPDATA%\Temp\AndroidEmulator
và có một cái tên giống như TMP4980.tmp
.
Bạn sao chép nó vào một thư mục thiết bị avd ( %HOMEPATH%\.android\avd\%AVD_NAME%.avd\
) và đổi tên thành system.img
.
Bây giờ nó sẽ được sử dụng khi bắt đầu, thay vì thông thường. Đúng nếu hình ảnh trong SDK được cập nhật, nó sẽ có hình cũ.
Trong trường hợp này, bạn sẽ cần phải loại bỏ điều này system.img
và lặp lại thao tác tạo ra nó.
Hướng dẫn chi tiết hơn bằng tiếng Nga: http://4pda.ru/forum/index.php?showtopic=318487&view=findpost&p=45421931
Đối với Android 7, bạn cần chạy các bước bổ sung: 1. Cần chạy trình giả lập thủ công. Chuyển đến thư mục sdk sdk\tools\lib64\qt\lib
. Chạy từ trình giả lập thư mục này với các tùy chọn -writable-system -selinux disabled
Giống như thế này:
F:\android\sdk\tools\lib64\qt\lib>F:\android\sdk\tools\emulator.exe -avd 7.0_x86 -verbose -writable-system -selinux disabled
Bạn cần khởi động lại adbd
từ root:
giả lập adb -s root-5554
Và hệ thống remount:
adb -s emulator-5554 remount
Nó chỉ có thể được tặng một lần cho mỗi lần chạy giả lập. Và bất kỳ cuộc tái đấu khác có thể phá vỡ chế độ ghi. Bởi vì điều này bạn không cần chạy bất kỳ lệnh nào khác với remount, như mount -o remount,rw /system
.
Các bước khác giữ nguyên - tải lên nhị phân, chạy nhị phân như daemon, v.v.
Ảnh từ AVD Android 7 x86 có root:
Nếu bạn thấy lỗi về PIE khi thực thi su
nhị phân - thì bạn tải lên trình giả lập nhị phân sai. Bạn phải tải lên tệp nhị phân có tên su.pie
bên trong kho lưu trữ, nhưng trên trình giả lập, nó phải được đặt tên là su
, không su.pie
.