なにも わからぬ

パソコンとプログラミング関係をメモっていきたい

Oculus Goにadb経由でapkをインストールするまでメモ

f:id:htkb:20180510205333j:plain

要約

  • Oculus Goには開発者モードでPCからapkをadbで流し込むことが可能だが、そこまでに開発者登録→開発者モードON→adb接続→インストールという手順を踏む必要があってめんどい。
  • スマホVRでOculus RiftやHTC VIVEをエミュレートするVRidgeというアプリの開発元がOculus Go用の野良apkを配布しており、これを入れるのにこの作業が必要(待ってればそのうち正式にGearVRアプリとして登録されると思うが)
  • 野良apkは何でも入れられるっぽいが、スマホVR用のアプリであっても現状では起動はしてもほぼ進行不可(タップができない)なので野良GearVRアプリしかまともに使えず、実質VRidgeのapk入れる専用の作業

大雑把な手順

開発者モードをオン → adbでPCとつなぐ → adb install

開発者モードをオンにするまで

開発者モードをオンにするには公式からデベロッパーの登録をする必要があるが、Oculusアプリでいきなり開発者モードをオンにしようとすると登録ページに飛ばしてくれるのでアプリ経由で行くと間違いがなくて楽だと思う。

f:id:htkb:20180510195842j:plain Oculusアプリの設定→その他の設定→開発者モード→オン にしようとすると

f:id:htkb:20180510200211j:plain

と言われるので作成開始を押すとブラウザが開く。

f:id:htkb:20180510200226j:plain

リンクをクリックして開発者のチーム名を適当に入力し登録すると、Oculusアプリのさっきの開発者モードがオンにできるようになる。

adbでPCとつなぐまで

Windowsだとadbを導入してOculus Go ADB Drivers | Developer Center | Oculusを入れる必要がある。手っ取り早いadb導入はminimal adb and fastbootや15 seconds ADB Installerなどを入れることだが公式のものではないので安全性は保証しません。公式のAndroid SDKを入れるのが本筋だが少しめんどくさい。いずれにしても解説サイトは腐るほどあるのでググってね。

Ubuntuだと(Lubuntu 18.04で確認)sudo apt install android-tools-adb入れて繋いでadb devicesするだけでoculus goを認識してるはず。ただし何かしようとするとno permissionsとか怒られるので、USBケーブルをつなぐ前に(先に繋いじゃった場合は抜いてadb kill-serverしてから)sudo adb start-serverして繋ぐとOK。

参考:Ubuntu: adbでno permissionsでデバイスに接続できない | Scenery and Fish

どっちの場合もadb devicesでなんか認識してればOK、Oculus Goの画面にadb接続していいかー?とダイアログが出てるのでOKする。

apkをインストール

adb install (apkのファイルパス)

VRidgeのapkはここ Oculus Go and VRidge – RiftCat - Help Center

インストール成功したらOculus Goのライブラリ→提供元不明の中に(後ろの方に)あるのでクリックして起動する

疲れたのでVRidgeで遊ぶのはまたあとで……

スマホVR用のアプリをインストールすると

スマホVR用のアプリであるなごみの耳かきVRを入れてみる。

まずスマホにインストールしてApk Extractor等でapkを抽出しPCに移す。

adb install なごみみ_com.dlsite.nagomimi.apk

等としてインストールすると成功はするのだが、提供元不明の中に見当たらない。んでさらにPCから

adb shell am start -n com.dlsite.nagomimi/com.google.unity.GoogleUnityActivity
参考:package名のみからadb shell am start -nする - Qiita

とやると一応起動するのだが

f:id:htkb:20180510194024j:plain

タイトル画面らしきものが非VR画像をVRゴーグルで見たときのようなでたらめな感じで表示され、ちらっと見えているスタートボタンらしきものをタップする手段がないので詰む。モーションコントローラーのどのボタンも(スライドする部分のクリックも)タップとは対応していない模様。bluetoothマウスかなんか繋げられればいけるはずだが……。なので今の所、非GearVR用アプリを起動できても、進行に通常のタップが必要な画面があればそこで完全に詰むと思う。adbで起動中のアプリに干渉する方法とかあったりするかもしれないが詳しくないのでわからない。