AndroidThingsをラズパイ3にインストールする

Android Thingsといえば、GoogleがIoT界に乗り込んだが2018年に縮小されるアナウンスがされた、という記憶がある程度の知識だった。
調べたところ、縮小はしたが「**スマートスピーカーとスマートディスプレイ向けにターゲットを絞った**」という事らしい。

スマートディスプレイは最近流行ってるし、いっちょAndroid Thingsを触ってみるか！
という事でAndroid Thingsに入門してみた。

## 環境説明
macOS 10.14.6 (Mojave)
Android Studio 3.5.2

当方、Androidアプリエンジニア
Android Thingsは初体験

## まずAndroid Thingsの公式ドキュメントを読む

公式を覗いてみる

Android Developers > Docs > Android Things > ガイド
https://developer.android.com/things/get-started

> Android SDKとAndroid Studioを使用して開発する
> Androidフレームワークを介してネイティブにディスプレイやカメラなどのハードウェアにアクセスする

ま、マジで！？
Android Studio + KotlinでAndroid Thingのアプリが作れるの？
という事はAndroidエンジニアの知識がそのまま使えちゃうの？

なんて素晴らしいサービスなんだ...
もっと早く知りたかった

## 準備
まずAndroid Thingsのサポートデバイスである**Raspberry Pi 3**を用意する。
（家にいっぱい転がってる）
あとはモニタとマウスがあればいいらしい。

AndroidエンジニアなのでAndroid Studioやadbはセットアップ済み。
爆速で準備完了してしまった。

## Android Things Productを作成する

この辺から自分の作業の履歴を画像付きで書いていく。

まず自分のAndroid Thingsを以下urlから作成する。

Android Things Console
https://partner.android.com/things/console

最初は何もないので **CREATE** をクリック
<img width="700" alt="スクリーンショット 2019-11-30 19.05.00.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52227/35eec04b-b428-b287-ed10-40bd930b1459.png">

**Product name** は任意の名前にする、自分は「first-product」とした。

**SOM type**は「Raspberry Pi 3」を選択する。

**Product description**は任意の説明にする。

<img width="300" alt="android_things_create_product.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52227/64a7f0cb-4ea0-482b-950b-8ea4a9b663cd.png">

**Models** にランダムidのような名前のモデルが既に作成されていた。
今回はそのままこのモデルを使用する。

Modelsのアイテムを開いてみる（今回はietfbsのidのモデルをクリック）

Product作成後はこうなる。
<img width="700" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52227/99a36e03-0db6-5bb1-780b-c06b06bba950.png">



**BUILD CONFIGURATIONを作ろう** と表示されているので **NEW** ボタンをクリックする。

<img width="700" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52227/5852bd9b-192e-eae3-aec4-55d3487789ee.png">

### 作成方法の選択肢
存在するビルドも何もないので、**Use Starter Kit settings** を選ぶ。

<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52227/4405036a-b22b-1479-ea11-3814532b0e24.png">

### Build Configuration Input
ここから選択肢が多くて長いので、文章のみで説明する。

詳しくは公式で説明されている
https://developer.android.com/things/console/build

1. Name your build configuration
    - ビルド設定名を入力
    - 「starter kit」と入力した
2. Select Your Android Things Version
    - 最新のOS versionを選ぶ
    - 「1.0.15.5786897」を選択した
    - Date uploadedをみると今年もたくさん更新されており、**Androi Thingsが開発継続されている** 事を知った
3. Select apps
    - ビルドに含めるアプリケーションを選択する
    - 今回は追加しないので、そのままNEXTを選ぶ
    - デフォルトでGoogle Play Servicesが選択されてる
    - apkを選択してアプリに含めるようだ
4. Add additional build resources
    - 追加のビルドリソースはないので、そのままNEXTを選ぶ
    - 現在は **ブートアニメーションのみに限定されている**
5. Edit hardware configurations
    - ハードウェア構成を設定する
    - 今回はGPIOは触らないので、そのままNEXTを選ぶ
6. Edit user partition size
    - ユーザーパーティションサイズを設定する
    - 特に変更せず
    - Total size 4096 MBくらい

## Buildが始まる
Build Configurationを入力完了するとビルドが自動で始まる。
3分くらいで終わった。

<img width="700" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52227/6ea82480-ed28-ffab-060c-73e76819418c.png">

## Productをダウンロードする
これでAndroid Things Productのビルドが完了した。

ダウンロード開始は「 **Actions > Development** 」を選択する。

<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52227/8e2991a9-a879-d8dc-0d78-61f3ee237b47.png">

zipがダウンロードされ、ファイル容量は300MBくらいだった。
これを解凍すると **iot_rpi3.img** というファイルが現れた。
ファイル容量は **4.29GB**
ついにOSイメージがダウンロードできたようだ。

## OSイメージをFlashする

ラズパイ3用のsdカードをPCに接続し、そこにOSイメージをFlashする。

自分はsdにイメージをFlashする時は `barenaEtcher` というソフトを利用している。

<img width="700" alt="スクリーンショット 2019-11-30 19.35.51.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52227/09da2614-4fb8-d119-859d-c4f475b4db28.png">

## ついにAndroid Thingsを起動

Flashを終えたsdをラズパイ3に装着して電源ON！

おお、Android Thingsのロゴが出た！！
（5インチモニタを使用）
<img width="700" alt="スクリーンショット 2019-11-30 19.35.51.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52227/5d020b83-2b49-5d3e-181a-99567e4d7af8.jpeg">

起動してしまえば普通のAndroid端末として動くようだ。
adbでのスクリーンショットや動画撮影もバッチリ！

起動後のホーム画面

![2019-12-03-02-13-35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52227/d65d8d37-506a-b7a9-18e3-4fe15434f2b9.png)

へー、Android OS 8.1.0 がベースになっているみたい
![2019-12-03-02-13-01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52227/cc12434a-41ab-555c-0f70-01fb57a1e55c.png)

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">5インチディスプレイでAndroid Thingsを操作してみた。<br>動画はカクカクしているが、実際の動作は非常に滑らかである。 <a href="https://twitter.com/hashtag/androidthings?src=hash&amp;ref_src=twsrc%5Etfw">#androidthings</a> <a href="https://t.co/IR1VdoR2qR">pic.twitter.com/IR1VdoR2qR</a></p>&mdash; ikemura23 (@ikemura23) <a href="https://twitter.com/ikemura23/status/1201548221463420928?ref_src=twsrc%5Etfw">December 2, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>