●BlueStacksのカスタマイズ
前の記事でも書いた通り、LSS の要求スペックはどんどん上がっている感じがありますので、安定して使用するにはそれなりの準備が必要かと思います。(BlueStacks 自体が重くなっているということはないと思いますが…)
●ブラックアウト問題?の対処
LSS をプレイしている際、いつの間にかエミュレータ画面がブラックアウトして元に戻らなくなるケースがあります。
正確なことはわかりませんが、これはAndroidがスリープに入っている状態だと言われています。BlusStacks ではスリープからインスタンスを復帰させる手段が用意されていないので、該当するウインドウを閉じてもう一度起動させる必要があります。確かに、操作中に急にこの状態になるケースは記憶になくて、しばらく放置していたりすると発生するので可能性としては高そうです。
通常の Android では開発者モードに入ってスリープを抑制すればよいのですが、BlueStacks では開発者モードが用意されていません。とは言え、ADB によるデバッグは可能なのでコマンド操作でスリープを無効にすることができます。この辺りの解説してるサイトってあまりない気がしますね。
※ADB についてはここでは解説しません
●BlueStacks のインスタンスでスリープを無効にする
まずは下準備として [環境設定] – [上位設定] で Android Debug Bridge (ADB) を有効にします。

この際、ポート番号を控えておきましょう。この例では、127.0.0.1:5555 なので、ポート番号は 「5555」です。インスタンス毎にポート番号は異なります。
次に adb コマンドでインスタンスに接続するんですが、この際に使用するコマンドは、BlueStacksに付属している HD-adb.exe を使っても良いですし、別で用意した adb.exe でもかまいません。ここでは別途用意した adb.exe を使用ています。※HD-adb.exe を使用する場合はコマンドを読み替えてください。
その後、BlueStacks付属の adb コマンド(HD-adb.exe)を使ってみたところ、設定ができませんでした。
こちらのサイト(公式) から 「SDK Platform-Tools」 をダウンロードのうえ、適当なフォルダに展開して コマンドプロンプトから adb.exe を使用しましょう。
- 管理者コマンドプロンプトもしくはターミナル(管理者)を起動
※Windowsの基本的な操作はここでは説明しません
- インスタンスに接続
コマンドは以下の通り、ポート番号は上の画面の例に合わせて5555です。
C:\Users\milktea>adb connect 127.0.0.1:5555
* daemon not running; starting now at tcp:5037
* daemon started successfully
connected to 127.0.0.1:5555
- まずは接続デバイス一覧を表示させる
C:\Users\milktea>adb devices -l
List of devices attached
127.0.0.1:5555 device product:p3sxxx model:SM_G998B device:p3s transport_id:2
emulator-5554 device product:p3sxxx model:SM_G998B device:p3s transport_id:1
ここでは2つ検出されています、1つの場合は特に気にしなくてもよいですが、2つ以上の場合は idを控えます、この例では ポート5555のデバイスのIDは 「2」 ですね。
- スリープ機能の状態を確認してみる
ターゲットが2つあるので、adb -t 2 shell … とデバイスID指定していますが、一つだけの場合は adb shell … と省略できます。
C:\Users\milktea>adb -t 2 shell settings get global stay_on_while_plugged_in
0
stay_on_while_plugged_in は、何らかの方法で給電されている場合の自動スリープ機能の状態です。
BlueStacks インスタンスの既定値は 「0:自動スリープ有効」 に設定されている事がわかります。
ただし、インスタンスの AndroidバージョンやBlueStacks バージョンによって既定値が違うかもしれないので変更する前に確認しましょう。
- 自動スリープを無効にする
これを、「7:自動スリープ無効」 に変更します。
C:\Users\milktea>adb -t 2 shell settings put global stay_on_while_plugged_in 7
変更作業はこれで完了です。念の為、もう一度 stay_on_while_plugged_in の値を確認するのもよいでしょう。
終わったら adb を切断しましょう。
- ADB を切断・無効にする
C:\Users\milktea>adb kill-server
セキュリティ的に問題があるので、事前準備で有効にした ADB は無効に戻しておく方が良いでしょう。
●まとめ
マルチインスタンスでプレイする場合、こういった作業はインスタンス複製前に実施したほうが良いですね。
ここまで解説しておいてなんですが、効果は保証しません。また、この操作により何か他の不具合が発生する可能性もありますので、自己責任で作業しましょう。
体感的にはなんとなく、ブラックアウトの頻度は減ったような気がします。また、PCをスリープして復帰させた場合にインスタンスが落ちる確率も減るような気がします。もちろん、スリープさせるとサーバとの通信が不能になるので、ゲーム自体は再起動がかかります。
ゲーム側で Sleep をキックするケースが有るのかはわかりませんが、BlueStacks 側で自動スリープを無効化できる設定項目を追加してくれたら便利なんですけどね。
コメントを残す