最近、ifLinkオープンコミュニティの活動に参加するようになり、Androidアプリの開発することが多くなりました。
通常、AndroidStudioのエミュレータで開発やデバッグが可能ですが、Bluetooth通信などを使用するプログラムを作るとき、VirturalBoxで実機に近い状態で開発できるので手順を残しておきたいと思います。

Android-x86ダウンロード

PC上で動くAndroidOSとして「Android-x86 Release 9.0」をダウンロードします。

OSDN:Android-x86 Release 9.0

VirturalBox設定

VirtualBoxで新しい仮想マシンを作ります。

タイプは「Microsoft Windows」、バージョンは「Windows 10(64-bit)」を選択します。
CPUなどの設定は以下の通り。

CPU:1cpu
メモリ:4GB
ストレージ:16GB

ディスプレイ設定のグラフィックコントローラは「VBoxSVGA」を選択、「3Dアクセラレーションを有効化」のチェックを入れます。

Bluetoothをつなげて開発を行う場合、OSのインストール前に設定しておく必要があります。
以下のように、USBとしてBluetoothを追加しておきます。

Androidインストール

作成した仮想マシンを立ち上げると起動ハードディスクを聞かれるので、ダウンロードしたisoファイルを選択します。

インストーラが立ち上がります。

「Installation – Install Android-x86 to hearddisk」を選択

「Create/Modify partitions」を選択

「No」を選択

「New」を選択

「Primary」を選択

デフォルトでエンター

「Bootable」を選択

「Write」を選択
Warningが出た後、Diskが作成される。
最後に、「Quit」を選択する

「OK」を選択

「ext4」を選択

「Yes」を選択

「Yes」を選択

「Yes」を選択

仮想マシンからDVDを取り出して、「OK」を選択

Androidが起動してきます。
OSが起動したら言語で「日本語」を選択します。

リモートデバッグ設定

Androidが起動したら「設定」⇒「システム」⇒「タブレット情報」の一番下の「ビルド番号」を7回タップして開発者ツールを有効化します。

「設定」⇒「システム」⇒「詳細設定」⇒「開発者向けオプション」の「USBデバッグ」をONします。

AndroidStrudioに接続

VirturalBoxのネットワーク設定にアイコンを合わせるとIPアドレスを見ることができるので、メモしておきます。

コマンドラインから以下のコマンドを実行します。
AndroidStrudioコンソールから実行してもOKです。
(AndroidSDKのインストールフォルダが違う場合はパスを変更してください)

C:\Users\<Windowsユーザ>\AppData\Local\Android\Sdk\platform-tools\adb connect <上記のIPアドレス>:5555

AndroidStrudioでVirturalBoxが実行環境として選択されます。

AndroidStrudioからプログラムを実行するとVirturalBox仮想マシン上でアプリが起動します。

シャットダウンの仕方

通常のタブレットの場合電源ボタン長押しでシャットダウンボタンが表示されますが、VirturalBoxにはそんなボタンはありません。
仮想マシンのウィンドウ×ボタンか「仮想マシン」⇒「ACPIシャットダウン」でも表示できますが、シャットダウンアプリを入れたほうが便利です。
いろいろありますが、私はこれを使ってます。

shutdown

Bluetoothを開発で使うとき

最近のAndroidバージョンではBluetoothを使用する時GPSへの悪政ス件が必要となります。
VirturalBoxで開発する場合、当然、GPSなどついていません。
GPS情報が取得できればなんでもいいのでアプリでフェイクしています。
以下のツールが良さげです。

FakeGPSをGooglePlayストアからインストールして起動するとこんな画面が表示されます。

GPS設定はFakeしないとできないので、このウィンドウ以外の場所をタップ(VirturalBoxなのでクリック)してポップアップを消してください。

その後、地図が表示されるのでお好みの場所を選択して画面下の右三角ボタン(再生ボタン?)をクリックすればFake完了です。

その後、「設定」⇒「セキュリティと現在地情報」⇒「位置情報」の「位置情報の仕様」をONにしてください。
これでGPS情報が取得できるようになり、Bluetoothがプログラムから利用可能になります。