BlueStacks は、Windowsで人気のあるAndroidエミュレーターです。ゲーマー向けのmacOS。エミュレータにはGooglePlayストアがプリインストールされており、ゲームのインストールが簡単なため、人気があります。残念ながら、エミュレータファイルシステムはデフォルトではルート化されていません。ルート化する方法は?
回答
これらの手順では、UNIXコマンドラインの基本を理解している必要があります。この手順は、OSX、Linux、およびWindowsで機能します。 MicrosoftWindowsやBlueStacksTweakerは必要ありません。
エミュレーターは内部でVirtualBoxを使用しており、Android x64バイナリー(64ビット)を実行します。 2つのVirtualBoxVDIディスクイメージPrebundled.bdi
とRoot.vdi
が付属しています。幸い、BlueStacksはディスクイメージにプリミティブなsu
バイナリを残しているため、このバイナリをイメージに追加する必要はありません。ただし、VirtualBoxの設定を変更する必要があります。
adb
コマンドはGoogleのAndroidStudio SDKから取得できます。または、。
エミュレーターがオフになっていることを確認し、VirtualBox構成ファイル内のすべてのディスクを読み取り/書き込み可能にします。 macOSでは、ファイルは~/Library/BlueStacks/Android/Android.vbox
にあります。このファイルを編集するときは、エミュレータが実行されていないことを確認してください。
エミュレータを起動します。
エミュレータ設定でADBブリッジを有効にします。
ローカルコンピューターに SuperSU zip ファイルをダウンロードします。
ADBハッキングセッションを開始します。
# This is the default port exposed by BlueStacks adb connect localhost:5555
zipファイルをの/mnt/sdcard
にプッシュします。エミュレートされたデバイス。
adb push SuperSU-v2.82-201705271822.zip /mnt/sdcard
次に、エミュレータシェル内で作業します。
# Start shell session in the emulator VM adb shell
# Use the provided BlueStacks binary to switch to root system/xbin/bstk/su # Disable SELinux setenforce 0 # Remount all filesystems mount -o rw,remount,rw / mount -o rw,remount,rw /system mount -o rw,remount,exec,rw /storage/emulated # Unzip SuperSU zip cd /mnt/sdcard mkdir supersu cd supersu unzip ../SuperSU-v2.82-201705271822.zip # Extract su command and run its post-install cp x64/su /system/xbin/su chmod a+rwx /system/xbin/su /system/xbin/su --install # Start su daemon mode /system/xbin/su --daemon
ここで、MediaManagerを介してエミュレーターでSuperuser.apkのインストーラーを実行します。
はSuperSUを実行していますAndroidUIは起動時にルートを検出する必要があります:
この後、エミュレータがハングするため、エミュレータを再起動する必要があります。再起動後、SuperSUを開くと、有効になっていることがわかります。
adb shell
cp x64/su /system/xbin/su
を実行すると、このエラーcp: /system/xbin/su: Read-only file system
が発生しました。その時点までのすべての手順を実行しました。どうすればこれを修正できますか?Root.vdi
をvirtualbox経由でubuntuvmにマウントしました。ファイルを手動で追加しました。権限を1000:1000に変更し、2000:2000を試しましたが、機能しませんでした。スーパーSUのonly position independent executables
。また、busybox ' s suを試しましたが、まだ運がありません。 bstksuを他の場所にコピーしました。動作しますが、出力1を返し、shell
ユーザーを再び返します。 :(