1. 掛載/system分區為可讀
通過 adb shell 以 root 用戶權限執行命令 mount | grep /system
根據這條數據, 編輯命令 mount -o remount,rw -t ext4 /dev/block/vda /system
並執行
大概率提示這個錯誤, 不要慌, 我們從命令行啟動 AVD
emulator -list-avds
查看 AVD 列表
emulator -writable-system -avd as
啟動
再次掛載
2. 上傳 su, supolicy, libsupol.so
下載並解壓 SuperSU.apk
![]() |
將這些 png 文件還原並拖到模擬器 | ![]() |
---|
通過 shell 執行腳本
cp /sdcard/Download/libsupol.so /system/lib64/
cp /sdcard/Download/su /system/xbin/
cp /sdcard/Download/supolicy /system/xbin/
cp /sdcard/Download/su /system/xbin/daemonsu
/system/xbin/daemonsu --auto-daemon &
大功告成, 不過別高興太早, 重啟后 root 權限又掉了, 解決辦法:
使用命令行啟動
#!/bin/bash
/cygdrive/e/AndroidStudio/sdk2/emulator/emulator.exe -writable-system -avd as&
一些參數
-verbose 將仿真器初始化消息打印到終端窗口。
-accel mode 配置模擬器VM加速。例如:
加速仿真僅適用於x86和x86_64系統映像。在Linux上,它依賴於KVM。在Windows和Mac上,它依賴於Intel CPU和Intel HAXM驅動程序。如果您未模擬x86或x86_64設備,則會忽略此選項。
mode有效值為:
auto - 自動確定是否支持加速並盡可能使用(默認)。
off - 完全禁用加速,這主要用於調試。
on - 強制加速。如果未安裝或無法使用KVM或HAXM,則仿真器將無法啟動並輸出錯誤消息。
-accel-check 檢查是否安裝了模擬器VM加速所需的虛擬機管理程序(HAXM或KVM)。
-engine engine
指定模擬器引擎:
auto - 自動選擇引擎(默認)。
classic - 使用舊的QEMU 1引擎。
qemu2 - 使用較新的QEMU 2引擎。
自動檢測應選擇在模擬特定AVD時提供最佳性能的值。您應該-engine僅將該選項用於調試和比較目的。
-gpu mode 選擇GPU仿真模式。
mode可以設置為以下選項之一:
auto:讓仿真器根據您的計算機設置選擇硬件或軟件圖形加速。
host:使用計算機上的GPU進行硬件加速。此選項通常為仿真器提供最高的圖形質量和性能。但是,如果您的圖形驅動程序在渲染OpenGL時出現問題,則可能需要使用swiftshader_indirect或angle_indirect選項。
swiftshader_indirect:使用SwiftShader的Quick Boot兼容變體, 使用軟件加速渲染圖形。host如果您的計算機無法使用硬件加速,則此選項是模式的良好替代選項。
angle_indirect:(僅限Windows)使用兼容Quick Boot兼容的ANGLE Direct3D變體, 使用軟件加速渲染圖形。host如果您的計算機無法使用硬件加速,則此選項是模式的良好替代選項。在大多數情況下,ANGLE性能應該類似於使用host模式,因為ANGLE使用Microsoft DirectX而不是OpenGL。在Windows上,Microsoft DirectX驅動程序通常比OpenGL驅動程序具有更少的問題。此選項使用Direct3D 11,並且需要Windows 10,Windows 8.1或Windows 7 SP1以及Windows 7平台更新。
guest:使用客戶端軟件呈現。此選項為仿真器提供最低的圖形質量和性能。
注意:如果啟用計算機不支持的圖形加速選項,則可能會在模擬期間看到顯示的圖像不正確。
mode不推薦使用以下選項:
swiftshader:在版本27.0.2中不推薦使用swiftshader_indirect。
angle:在版本27.0.2中不推薦使用。請angle_indirect改用(僅限Windows)。
mesa:在版本25.3中不推薦使用。請swiftshader_indirect改用。
-no-accel 使用x86或x86_64系統映像時禁用模擬器VM加速。它僅對調試很有用,與指定相同-accel off。
-no-snapshot-load 執行冷啟動,並在退出時保存模擬器狀態。
-no-snapshot-save 如果可能,執行快速啟動,但不會在退出時保存模擬器狀態。
-no-snapshot 完全 禁用快速啟動功能 - 它不會加載或保存仿真器狀態。