スマホ不要で動く！ARグラス"INMO Air2"の開発者モードを有効化する

# INMO Air2とは

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/fecce79d-8a2e-42f9-b40c-14584cd3c30f.png)

2023年4月に発売された中国のINMO社が作った光学式のARグラスです。

最近まで、GREEN FUNDINGというサイトでクラウドファンディング経由で購入可能でした。
https://greenfunding.jp/lab/projects/7556

旧式のINMO Airでは、私の愛が爆発した[スライドを作って公開](https://speakerdeck.com/kotauchisunsun/inmoairwoshi-idao-sitemita-argurasunotoredoohujia-shuo)しています。
[![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/08356872-e816-48ac-975c-491f7354be85.png)](https://speakerdeck.com/kotauchisunsun/inmoairwoshi-idao-sitemita-argurasunotoredoohujia-shuo)

そんなINMO Air2のいいところは何か。と言うと、

- **軽い！(99g)**
- **スマホ不要！(独立のAndroid端末として動く)**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/e2db15f8-9660-f3d7-f75a-adda44bad781.png)

　基本的にHMDは500g以上の重さであることが多いです。そのため、平日ずっと使っていることは難しいです。しかし、この軽さであれば、ほぼずっとつけていられます。
　もう1つのメリットは、「 **スマホが要らない** 」ことです。最近の光学式ARグラスは、スマホとケーブルで接続して利用するタイプが多いです。例えば、[Xreal Air2 Pro](https://amzn.to/3sSSjTS)や

[![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/ea8ca64f-ad42-df5c-6b75-4c9ed5407be3.png)](https://amzn.to/3sSSjTS)

最近、Docomoさんから発売になった、[Rokid Max](https://amzn.to/49V1P9G)などです

[![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/bdc4a077-d44e-d02e-e0d2-af281c9e29e1.png)](https://amzn.to/49V1P9G)

これらの端末は、NINTENDO Switchにつないでゲームができる。というメリットもありますが、私的には **この眼鏡単体で完結してるカッコよさ** に惹かれて買っています。

そんな **INMO Air2は公式で用意されているアプリしかなく、追加でアプリを入れる方法が公式ではありません。そこを何とかして自作アプリを入れるために、開発者モードを有効化する。** という内容です。

それが何が嬉しいか？というとピンとは来ないかと思います。なので、以下の動画を見てもらえば分かります。
<iframe width="560" height="315" src="https://www.youtube.com/embed/Vpyj81jJ7bY?si=4eo8Se_ah1WNjkN9" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

Androidが単体で動くということは、 **INMO Air単体、ARグラスをかけるだけでZoomへ会議参加できる。** といったことが出来ます。これめっちゃ未来じゃないですか？私はこれを見て、INMO Airを即買いしました。なので、私は **外部アプリをインストールするのをめちゃくちゃやりたい** わけです。


# INMO Airでの手順

先ほどの動画にも出ていたミクミンPさんが過去に旧式のINMO Airでの有効化手順を公開されています。

https://qiita.com/ksasao/items/973c6e672658f7f983bd

私もこの手順をベースにINMO Air2の開発者モード有効化を調べていきました。


# INMO Air2での開発者モード有効化の手順

では、実際の手順について書いていきます。

1.システム設定の言語を英語にする

システム設定の言語を英語にします。日本語だとこの後の手順が攻略できなくなる(Android設定画面以降)ので、必ず英語である必要があります。

2.Discordをインストールする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/36340c54-c0ab-b5f8-4bbc-a07d801b98b4.png)

今回のINMOAir2は公式のアプリストアからDiscordがインストールできるようになっています。このDiscord経由で開発者モードを有効化します。

3.Discordを起動する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/7585659b-eb24-45c7-a48c-ce6cac299a77.png)

適当なDiscordのアカウントにログインしてください。

4.URLのあるコメントを見つけ、クリックする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/18e2c3ad-930a-f9f8-1fe0-a499a60fb2ea.png)

自分のジョインしているDiscordのサーバーから適当なURLを記述したコメントを見つけ、そのリンクをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/c8cc3624-0ee7-b44e-c402-a6f85bb0d854.png)

そのまま、「うん！」で進んでください。

5.Androidの標準ブラウザが起動します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/5e00dc5f-4534-894a-bdfc-a841af665212.png)

本来、Androidの標準ブラウザは口が潰されているので、起動できないのですが、この経路だと起動できます。

6.上部のアドレス欄にimageとワードを入れて検索
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/3f1e7d2b-3c33-1947-0edd-6200fdb3650e.png)

一番上の欄がアドレス欄になるので、クリックで入力可能になります。

7.検索欄の右のカメラマークを押すと、アプリ選択画面が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/dae48d0f-fc70-aabb-9f40-4162953d576f.png)

8.Playストアを長押しすると、Android標準の設定画面が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/61e5e3f1-6fc5-ef0f-c5b1-d735bfc5a1c6.png)

これでAndroid標準の設定画面に入ることが可能になったので、あとは割と一般的なadbの有効化方法と同じです。

9.検索バーに「device name」と入力し、Device Nameへ移動
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/fa24294e-b90e-448a-8c32-ae4e7da67822.png)

10.Build numberを連打して開発者モードを有効化します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/07641f0c-b8e1-9090-ff57-b718955177e5.png)

11.検索バーにUSBと入力し、USB debuggingへ移動
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/2087c5b5-3958-42d9-5cad-9017ed04ab0e.png)

12.「USB debugging」の項目をONにする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/0a89b339-4070-a959-cf18-76b2bdbcbd66.png)


# ケーブル問題

INMO Air2のケーブルは特殊な形状をしています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/d6f26a83-a5e3-73c0-9e15-c87fde53682e.png)

片方はUSB-Aオスで片方はPogo pinという形式です。変なケーブルではありますが、 **実は普通にadbやscrcpyがつながります。** なんでかな。と思ったんですが、USBは4つの伝送経路があれば基本的に疎通できるので、何とかなるみたいです。

https://qiita.com/cha84rakanal/items/98c3c2d0622e4daa4e51


# どのようにして開発者モードを有効化する手段を思いついたか？

　前回のINMOAirではアプリがクラッシュしたときにでるダイアログから設定画面が表示され、そこから開発者設定を有効化できるプロセスでした。そのため、INMOAir2も一旦はクラッシュさせるように試しました。TiktokTVというアプリが、今回は公式からインストール可能で、しかもインストールしても、うまく動かなかったため、同様の方法を試しました。しかし、INMOAirの時のような「App Info」のダイアログが出ないため、設定画面へ侵入できませんでした。したがって、INMOAirと同じアプローチは取れないことが分かりました。
　ただ、役に立つポイントはあって、「何かしらの方法でAndroid標準の設定画面を起動すればよい」という大方針は変わりませんでした。
　旧INMOAirを自分で色々とハックしたところ、Android標準のWebブラウザが入っていました。したがって、INMOAir2にも標準のWebブラウザがインストールされていると予想していました。そのため、何らかの方法でURLをクリックし、ブラウザが起動する。というところを狙いに行きました。
　なぜブラウザを起動すると、設定画面が開けるか？という思考になったかというと、一般的なAndroidアプリであればGPS情報の取得をすると権限要求画面が表示される場合があると思います。その権限要求画面から設定画面を起動できるのではないか？と考えていました。そのため、ブラウザでGoogle Mapを開くことが出来れば、GPSなどの情報を要求され、設定画面を表示させることができるのではないか。と予測をしていました。
　実際には、そういったGPSの要求により表示させることはできませんでしたが、前述したように検索窓のカメラアイコンをクリックすることで、Androidの設定画面を表示することが出来ました。
　今回のハックできた勝因は2つで、「PlayStoreアプリがデフォルトでインストールされていたこと」「デフォルトアプリの挙動の設定」の2つでした。
　 Androidには[アプリリンクという仕組み](https://developer.android.com/training/app-links?hl=ja)があり、特定のアプリがインストールされ、特定のURLをクリックした場合、アプリが起動する。という仕組みがあります。少し分かりにくいんですが、今回の場合であれば、PlayStoreがインストールされており、PlayStoreのURLをクリックしたときは、PlayStoreアプリが起動する。という挙動でした。しかし、このINMOAir2の場合には、いくつかの不運が重なりました。まずはPlayStoreがなぜかデフォルトでインストールされていました。これにより、PlayStoreのリンクをアプリで起動する選択肢が生まれました。そして、これに対して、PlayStoreのリンクを開くデフォルトの挙動がOS側に設定されていなかった。という問題がありました。そのため、OS側の挙動として、PlayStoreのリンクをクリックしたとき、「ブラウザ」もしくは「PlayStore」のどちらのアプリで開きますか？という選択肢が生まれてしまいました。そのために、PlayStoreのリンクを踏むと、起動するアプリの選択肢を表示する画面を出してしまった。そのために、設定画面へアクセス出来た。ということでした。なのでこの不運(奇跡？)の連続で開発者モードが有効化できました。

# 感想

11月22日にINMO Air2が到着して、ひとしきり遊んだ後、何とかして開発者モードを有効化できないかと夜なべして触ったら有効化出来て、1人喜んでいました。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">うおっしゃああああああああああ！！設定画面潰されてたけど、INMO Air2速攻で開発者モード有効化出来たあああああぁぁぁぁぁー！！やったぁああああ！！全部自力で見つけ出したぞおおお！！うぉおおおおおおおお！！！！ <a href="https://t.co/HGGOHvlKJN">pic.twitter.com/HGGOHvlKJN</a></p>&mdash; こたうち　さんさん (@kotauchisunsun) <a href="https://twitter.com/kotauchisunsun/status/1727415257197605246?ref_src=twsrc%5Etfw">November 22, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

その次の日にはレンズを尼崎にあるメガネSHOPアイさんに作ってもらいました。
**そう！INMO Air2はレンズのアタッチメントが付属しているので、近視の人でもレンズを使えば常用できるんです！！**

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">INMO Air2専用レンズの加工始めました<br>前モデル同様にアタッチメントを当店までお送りいただく必要がございますのでご注意ください<a href="https://t.co/iZwuo6tfqj">https://t.co/iZwuo6tfqj</a></p>&mdash; JR尼崎のメガネ屋さん👓メガネSHOPアイ (@SHOP23527410) <a href="https://twitter.com/SHOP23527410/status/1705435416344891544?ref_src=twsrc%5Etfw">September 23, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

GREEN FUNDINGによるとINMO Air2を買った人は100人程度しかいないので、こんなマイナーなARグラスの知見を書くのもどうかしてる気はしていますが、興味のある人は買ってみてください！！私も色んな記事書こうと思います。

# 宣伝
PsychicVRLabではUnityエンジニア・サーバーサイドエンジニアを募集しています！！ご応募お待ちしています！！

https://www.wantedly.com/projects/1360135

https://www.wantedly.com/projects/1360123