Android EmulatorであるNoxPlayerの件。
仮想ディスクのファイル(vmdkファイル)が肥大化してしまった。「クリーンアップ」をしてもそれほど小さくならない。
仮想Android上でディスクをゼロで埋めてやればいいんだろうけどなあ、そんなAndroidアプリはないのかなあ、とググっていて見つけたサイト。
へえ、nox_adb.exeなんてのがあるんだ。
探してみたら確かにあった。
C:\Program Files (x86)\Nox\bin\nox_adb.exe
じゃあ、これを使ってディスクをゼロで埋めてから、「クリーンアップ」すればいいんじゃないかな?
- 仮想ディスクを圧縮したい仮想Android(エミュレータ)を一つ起動
- ホスト(Windows)上でコマンドプロンプトを起動(「cmd」を検索して「コマンドプロンプト」を起動するのが簡単)
- nox_adbを起動
"C:\Program Files (x86)\Nox\bin\nox_adb" shell
- ここで、正常なプロンプトが返らずに「7[r[999;999H[6n」のようなゴミが返ってきた。Enterを数回殴打し、正常なプロンプトである「#」が返ってくればOK
- /dataの下にでもゼロで埋めた適当なファイル(例えばhoge)を作成
cd /data dd if=/dev/zero of=hoge bs=1M
- ディスクがあふれてddが終了したらddで作ったファイル(hoge)を削除
rm hoge
- 仮想Androidを終了(nox_adbも落ちる)
- Noxウィジェットの「クリーンアップ」を実行
- 終わるのを待つ
【補足】
「"C:\Program Files (x86)\Nox\bin\nox_adb" shell」といちいち打つのは面倒なので、環境変数 Path に「C:\Program Files (x86)\Nox\bin」を追加しておくとよいだろう。
- スタートメニュー ⇒ 設定(歯車マーク)
- システム ⇒ 詳細情報 ⇒ システムの詳細設定
- 環境変数 ⇒ Pathを選択 ⇒ 編集 ⇒ 新規 ⇒ C:\Program Files (x86)\Nox\bin ⇒ OK
こうしておけば
nox_adb shell
だけで仮想Androidに入れるようになるはず。らくちん。