Ubuntu 18.04 における Tizen Studio 3.6 の環境構築

# Ubuntu 18.04 における Tizen Studio 3.6 の環境構築
Galaxy watchを手に入れたので、Tizen studioの環境構築を行いました。日本語で書かれたインストール手順が見当たらなかったため、自分用のメモ代わりに記事を書かせていただきました。

## 今回インストールした環境
- Ubuntu 18.04 Desktop
- Tizen studio 3.6

## 必須ソフトウェアのダウンロード

Tizen Studio 3.6 を動かすためには

- [Oracle Java Development Kit 8](https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)

が必要です。リンクからダウンロードしてください。これ以外のバージョンのJDKがすでにインストールされている場合、**Tizen Studioが動作しない場合があります。**
なので、すでにほかのバージョンのJava Development Kitがインストールされている場合は、アンインストールしてください。

また、[公式サイト](https://developer.tizen.org/development/tizen-studio/download/prerequisites)にはopen JDKも使えますと書かれていますが、open JDKを使用すると**デバイスの接続に必要なデバイスマネージャーが動作しません**。なので、Oracle Java Development kit 8を使ってください。

## Tizen studio 3.6 with IDE Installer のダウンロード

[Tizen Developers](https://developer.tizen.org/development/tizen-studio/download)からTizen studio 3.6 with IDE Installerをダウンロードします。
CLIインストーラーのものもありますが、今回はIDEインストーラーをつかった環境構築を行うので、紹介しません。

## Tizen studio 3.6 with IDE Installer の実行

ダウンロードしたbinファイルを実行可能にし、実行します。
    
    cd Downloads/
    sudo chmod +x web-ide_Tizen_Studio_3.6_ubuntu-64.bin
    ./web-ide_Tizen_Studio_3.6_ubuntu-64.bin

そうしたのち、この画面が出ていれば成功です。

![agreement](https://i.imgur.com/wdqfJnT.png)

ライセンスに同意すると、Tizen Studioのワークスペースを指定する画面が出ます。自分の設定に合わせたディレクトリを指定してください。

![](https://i.imgur.com/vHlMGCa.png)


しかし、このままワークスペースを作成しようとすると、エラーメッセージが出る場合があります。エラーメッセージに従って必要なプログラムをapt-getしてください。

![error1](https://i.imgur.com/p6jLesD.png)

## パッケージマネージャーを利用してパッケージをインストールする

必要なプログラムをインストールした後は、パッケージマネージャーが起動します。ここで、必要なパッケージをインストールしてください。今回は、Tizenバージョン4.0のデバイスを想定して、4.0 wearableのパッケージと、そのデバイス上でアプリをビルドするためのパッケージをインストールします。こちらのパッケージは、Extention SDKのタブをクリックし、Extrasの横のインストールボタンをクリックします。

![error2](https://i.imgur.com/9ynrfCU.png)

なお、このようにインストールの際に追加のパッケージをインストールしなさいというエラーメッセージが出た場合は、それに従います。

## Tizen Studio の起動

必要なパッケージをインストールした後は、パッケージマネージャーを閉じるだけでTizen Studioを起動するメニューが現れるので、それを選択し、Tizen Studioを起動します。

![tizen main](https://i.imgur.com/Ry42JWS.png)

このような画面が表示されていれば、成功です。

## サンプルプログラムのビルド

動作確認のために、Tizen web simulatorを使用して、サンプルプログラム、Hello Tizenを動作させます。

### Tizen web simulator の設定

Tizen web simulatorの動作には、google chromeが必要です。すでにインストールしている場合は、そのまま起動しますが、Tizen studioインストール前にgoogle chromeがインストールされていない場合、Tizen studioがgoogle chromeを参照できません。そのため、WindowsタブのPreferences欄から、Tizenstudio > Web > Chromeの欄に、google chromeの実行ファイルのパスを書きます。

![google chrome](https://i.imgur.com/4CUrQsM.png)

### サンプルプログラムの作成

いくつかのサンプルプログラムはTizen studio内でダウンロードできます。サンプルプログラムを作るためには、メニュー左上にあるCreate New Tizen Projectアイコンをクリックします。そうすると、このメニューが表示されるので、Sampleをクリックします。

![sample menu](https://i.imgur.com/ExuucLA.png)

サンプルプログラムの一覧から、Hello Tizenを選択します。

![](https://i.imgur.com/hiAnegU.png)

![](https://i.imgur.com/GDgIeeN.png)

### サンプルプログラムの実行

サンプルプログラムが作成された後は、上部メニューのRun > Run as > Tizen web simulator applicationをクリックすると、google chromeが立ち上がり、サンプルプログラムが実行されます。

![](https://i.imgur.com/16iDmyZ.png)



このように表示されていれば、成功です。

## 実際のデバイス上にビルドする

Tizen web simulator上での動作が確認出来たら、ここからは実際のデバイス上でアプリをビルドし、動かします。

### ビルドする前の事前準備

Tizen Studioで作られたアプリを実際のデバイスにビルドする際は、
 - Samsung Account
 - Tizen Studio Author Certificate および Distributor Certificate
 - 接続するデバイスのDUID

が必要です。
そのため、Tizen Studioはパッケージマネージャーを通してTizen Certificate Managerとデバイスマネージャーをダウンロードすることによってこれらの作成が可能になっています。このガイド通りに環境構築を行っていれば、Extention SDKのダウンロード時にこの2つのソフトはダウンロードされています。もしこれらのソフトが起動しないなどの問題が発生した場合は、パッケージマネージャーを開き、Extention SDKを再ダウンロードすることをお勧めします。

### Samsung Accountの取得

[公式サイト](https://account.samsung.com/membership/intro)にアクセスし、新規アカウントを作成してください。アカウント名とパスワードはこの後使用するので、**忘れないようにしてください。**
![](https://i.imgur.com/GHe7B4S.png)

### デバイスのDUIDの登録

デバイスを接続する前にCertificateを作成してしまうと、デバイスの認識に必要なDUIDが得られないままCertificateが作成されてしまい、一度作成されてしまうとあとからDUIDを追加することは不可能なので、**デバイスにアプリをビルドできなくなってしまいます。**　そのため、先に一度デバイスをコンピューターと接続し、DUIDを得る必要があります。

### デバイスマネージャーを使ってデバイスと接続する

まずデバイス側のデバッグモードをオンにしたのちに一度再起動し、接続するコンピューターと同じwifiネットワークに接続します。その状態でTizen Studioの右上のデバイスマネージャーのアイコンをクリックすることによっ![](https://i.imgur.com/pMkwtMy.png)
てデバイスマネージャーを開きます。右上の3つのアイコンのうち中央のアイコンをクリックします。

![](https://i.imgur.com/Xr1qyMA.png)

そこをクリックすると、リモートデバイスマネージャーが起動し、デバイスの検索が可能になります。
ここで右上のScan Devicesをクリックすると、同じネットワーク上のデバイスを自動で認識し、接続名の横のONスイッチをクリックすることによって接続します。

![](https://i.imgur.com/H8agSVT.png)

接続されてしばらくすると、デバイスマネージャーの下方にログが流れ始めます。それが表示されたら接続成功です。

![](https://i.imgur.com/enFqQbx.jpg)

### 各種 Certificate の作成

Tizen Certificate Manager を使って各種Certificateを作成していきます。まずはCertificate ManagerをTizen Studioの右上のメニューにあるCertificate Managerのアイコンをクリックし、Certificate Managerを立ち上げます。立ち上がったら、新規Certificateを新規作成ボタンをクリックして作成します。

クリックした直後には、Tizen CertificateかSamsung Certificateのどちらを作成するか選ぶメニューが表示されます。デバイスのビルドにはSamsung Certificateが必要なので、Samsung Certificateを選びます。

![](https://i.imgur.com/wKBVmdH.png)

選択した後、デバイスタイプを聞かれるので、今回はモバイルデバイスを選択します。

![](https://i.imgur.com/bmc4cDv.png)

次に、Certificateの名前を入力します。名前はなんでもいいです。今回はdefaultにしました。

![](https://i.imgur.com/BiNEvHt.png)

新規に作成するのでCreate New Certificateを選択します。

![](https://i.imgur.com/8hDZP3i.png)

Author nameとパスワードを入力します。Author Nameもパスワードも自由です。

![](https://i.imgur.com/Kk711KG.png)

入力すると、Samsung Accountにサインインするよう求められます。

![](https://i.imgur.com/8EhI07q.png)

サインインに成功すれば、Author Certificateの作成が完了します。

![](https://i.imgur.com/JBtYEYJ.png)

次に、Distrubitor Certificateの作成を行います。新規作成するので、Create newを選択します。

![](https://i.imgur.com/ZykQuyG.png)

DUIDの表に自分の接続したデバイスの数のDUIDがあるかを確認し、作成します。

![](https://i.imgur.com/vUEBGEv.png)

これでCertificate Managerに作られたCertificateが表示されていたら、成功です。

### デバイスでのビルド

Tizen Studio 上部のメニューからRun > Run as > Tizen Web Applicationを選択します。この際、実行するデバイスが実行したいデバイスか、上部のメニューで確認します。

![](https://i.imgur.com/5ievM0d.png)

ビルドが終了したのち、デバイスにアプリがインストールされていれば、成功です。