【THETAプラグイン開発】THETAでRICOH THETA Plug-in SDKを動かす方法

# 【THETAプラグイン開発】THETAでRICOH THETA Plug-in SDKを動かす方法

## はじめに

どうも、リコーのKAZ (@yokazuya) と申します。

この記事では、RICOH THETA Plug-in SDK（以下、SDK）をベースに作成したプラグインをTHETAで動かす手順について説明します。

Windowsを使った説明になっていますが、Macでもやることは同じです。

プラグインを動かすには、RICOH THETA Vを開発者モードに設定しておく必要があるので忘れずに行いましょう。
やり方は[こちら](https://qiita.com/ueue/items/7c4027db3af463956e26)の手順を参考にしてください。

## 開発環境

今回は、以下の構成でプラグインを作成して、動作を確認しました。

* カメラ
  * RICOH THETA V （Firmware ver.2.41.1）
* OS
  * Windows 10 Pro 64bit （Version 1703）
* ソフトウェア
  * Android Studio 3.1.3
  * RICOH THETA 基本アプリ Version 3.7.2

## 目次

THETAでプラグインを動かすための流れは以下になります。
1. SDKをダウンロードする
2. Android StudioにSDKのプロジェクトをインポートする
3. ビルドツールを更新する
4. Android Studio経由でプラグインを動かす

## SDKをダウンロードする

まずはプラグインのベースとなるSDKを以下からダウンロードします。

[theta-plugin-sdk](https://github.com/ricohapi/theta-plugin-sdk)

## Android StudioにSDKのプロジェクトをインポートする

Android Studioを起動し、[ファイル]→[新規]→[プロジェクトのインポート]からダウンロードしたSDKのプロジェクトを選択してインポートします。
![project-import.png](https://qiita-image-store.s3.amazonaws.com/0/265662/446b8748-806e-8db4-bad8-b62a2ac328a9.png)

プロジェクト情報のビルドが開始されます。

終わるまで数分かかりますので気長に待ちましょう。

![sdk-build.png](https://qiita-image-store.s3.amazonaws.com/0/265662/59e58ba6-2743-b5ac-ff69-f955b0df2d4a.png)

途中、OpenJDKプラットフォームへのアクセス許可を求められた場合は許可します。

## ビルドツールを更新する

ビルドツールが不足している場合、必要なツールをインストールしてプロジェクトを再同期する必要があります。

ビルドエラーが出ていなければ読み飛ばしてください。

Android Studio 3.1.3をインストールした直後にSDKのプロジェクトをインポートすると、下記2つのビルドエラーが起きました。

* Android SDK Platform 26が不足しているエラー
![project-refresh-failed-26.png](https://qiita-image-store.s3.amazonaws.com/0/265662/54a2601f-bf28-e189-c3e2-c5e3bf33d78e.png)

* Android SDK Build-Tools 27.0.3が不足しているエラー
![project-refresh-failed-27.png](https://qiita-image-store.s3.amazonaws.com/0/265662/34ac45f1-5ad6-ccb5-c8d7-acbb7b26fd45.png)

エラーメッセージ内のリンクをクリックして、ビルドツールをインストール出来ます。

ビルドツールのインストールが終わると、プロジェクトが再同期されるので終わるまで待ちましょう。

なお、途中でGradleの更新ダイアログが表示される場合がありますが、更新必須ではありません。

![gradle-update.png](https://qiita-image-store.s3.amazonaws.com/0/265662/0901b055-d663-d3b4-2d05-6ff2d13d45e2.png)

これでSDKのプロジェクトのビルド環境が整いました。

## Android Studio経由でプラグインを動かす

SDKのプロジェクトには、既にプラグインとして最低限必要な実装が含まれています。
そのため、SDKの中身を変更せずにプラグインとして動かすことが可能です。

以下の手順でSDKをプラグインとして動かすことが出来ます。

1. [THETA Vの電源をオン（長押し）](https://support.theta360.com/ja/manual/v/content/prepare/prepare_04.html)

2. THETA VとPCをUSBケーブルで接続

3. Android Studioの[実行]→[実行]もしくは[デバッグ]を選択
    ![debug-execute.png](https://qiita-image-store.s3.amazonaws.com/0/265662/9696a0db-15b4-cd82-dc92-a3bc77632c2d.png)

4. デプロイ対象の選択画面で接続しているTHETA Vを選択してOKボタンを押下
    ![deploy-select.png](https://qiita-image-store.s3.amazonaws.com/0/265662/9a7f18a6-7217-0579-0da3-3fbc2ad6179a.png)

ビルドが終わるとAPKがインストールされ、プラグインが動いている状態になります。

プラグインが動いているか分かりづらいのですが、Vysorを使うことで確認することが出来ます。
現時点(2018/07/06)のSDKでは、"Hello World!"の文字がVysorに表示されます。

Vysorについて詳しく知らない方は[こちら](https://qiita.com/KA-2/items/9dce1a165fcf0203b1cb)の記事をご覧ください。
![vysor-plugin.png](https://qiita-image-store.s3.amazonaws.com/0/265662/e9cd218d-705d-65f3-7d25-c0793cb7aa7a.png)

## （補足）インストールしたプラグインの確認

THETA V にインストールしたプラグインは、基本アプリで確認することが出来ます。

確認方法は以下の通りです。

1. THETA VとPCをUSBケーブルで接続

2. 基本アプリを開く

3. [ファイル]→[プラグイン管理]を選択
    ![plugin-management.png](https://qiita-image-store.s3.amazonaws.com/0/265662/df7911af-9ccb-e697-dfed-9816cfe84d8a.png)

THETAにインストールされているプラグインの一覧が表示されます。
![plugin-list.png](https://qiita-image-store.s3.amazonaws.com/0/265662/5a4a3c74-1b70-005c-1b74-93fc6910595c.png)

選択されているプラグインが起動プラグインとなります。

起動プラグインを変更したい場合、別のプラグインを選択して完了ボタンを押下します。

なお、スマートフォンの基本アプリでもプラグインの切り替えが出来ます。

## まとめ

SDKをカスタマイズすることでオリジナルのTHETAプラグインを簡単に作成することができます。

THETAプラグインをご存じない方は[こちら](https://api.ricoh/products/theta-plugin/)をご覧ください。
興味を持たれた方は[Twitter](https://twitter.com/thetaplugin)のフォローと
[THETAプラグイン開発コミュニティ(Slack)](https://join.slack.com/t/thetadeveloper/shared_invite/enQtNzcxODI2MTk2ODg0LWY5YmU2ZTIxNGYwNzlmNWZjMWMyMWFlMzY3ZmQ3NGU3ZjZiZjI0Njk4MGIxMDU5NDJiMzQ4Y2FkNDEzYmFlNGU)への参加もよろしくおねがいします｡