Unityから組込みAndroid SDKとlogcatをサッと開くエディタ拡張

# はじめに

[Unity2019は追加モジュールのAndroid SDKでsdkmanagerを実行するのが面倒](https://qiita.com/shiena/items/38ba69ea96f672941dbb)で`sdkmanager`を使えるターミナルを起動できるようになったので`adb`にも対応し、エディタ拡張をPackage Managerに対応しました。また、Unityからlogcatを見られる[dzonatan/Unity3D-LogCat-extension](https://github.com/dzonatan/Unity3D-LogCat-extension)が便利なのでPackage Manager対応とバグ修正したので一緒に紹介します。

# エディタ拡張のunity-android-sdk-helper

Unity2018.1以降で作ったプロジェクトの`[Project Folder]/Packages/manifest.json`を開くと`dependencies`キーがあるので以下のようにパッケージを追加するとインストールできます。

```json
{
  "dependencies": {
    "com.github.shiena.androidsdkhelper": "https://github.com/shiena/unity-android-sdk-helper.git#1.0.1"
  }
}
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/8995/511f4269-b5c8-9685-8279-d50051cbd022.png)


Switch PlatformでAndroidに切り替えると上記のメニューが追加されます。

* `Open terminal with android platform tools`はAndroid Platform ToolsにPATHを通したターミナルを起動します。`adb`を使うのに便利です。
* `Open terminal with android sdk tools`はAndroid SDK ToolsにPATHを通したターミナルを起動します。`sdkmanager`を使うのに便利です。
またWindowsのUnity2019.1以降で組込みのAndroid SDKを使う設定だと管理者権限でターミナルを起動します。

ソースは[shiena/unity-android-sdk-helper](https://github.com/shiena/unity-android-sdk-helper)に置いています。

# Unity3D-LogCat-extension

[dzonatan/Unity3D-LogCat-extension](https://github.com/dzonatan/Unity3D-LogCat-extension)はUnityからAndroidのlogcatを見られるエディタ拡張です。
これに以下の修正を加えました。

* ~~🐛[【Unity】Unity 上で Android の logcat が実行できる「Unity3D LogCat extension」紹介 - コガネブログ](http://baba-s.hatenablog.com/entry/2018/12/27/085000)で紹介されているフリーズするバグを修正~~ -> PullRequestsマージ済み
* ~~🐛ログレベルに応じた色がつくように修正~~ -> PullRequestマージ済み
* ~~🐛ログ取得時の時間が表示されていたのでログ自体の時間に修正~~ -> PullRequestマージ済み
* ~~✨Unity2019.1以降の組込みAndroid SDK対応~~ -> PullRequestsマージ済み
* ✨デバイス選択可能
* ✨Package Manager対応

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/8995/f5fdb6df-ad89-b35e-2189-2de2944b6e62.png)


上記のunity-android-sdk-helperと同様に`manifest.json`に以下の内容を追加するとインストールできます。

```json
{
  "dependencies": {
    "com.github.dzonatan.unity3d-logcat-extension": "https://github.com/shiena/Unity3D-LogCat-extension.git#upm"
  }
}
```

ソースは[shiena/Unity3D-LogCat-extension](https://github.com/shiena/Unity3D-LogCat-extension/tree/upm)に置いています。

# Android Logcat (Unity2019以上)

Unity2019以上ならUnity公式パッケージのAndroid Logcatも使うことができます。

* [【Unity】Unity 上で Android の logcat が実行できるパッケージが Package Manager からインストールできるようになった（現在はプレビュー版） - コガネブログ](http://baba-s.hatenablog.com/entry/2018/12/25/090000)

# 参考リンク

* [shiena/unity-android-sdk-helper](https://github.com/shiena/unity-android-sdk-helper)
* [shiena/Unity3D-LogCat-extension](https://github.com/shiena/Unity3D-LogCat-extension/tree/upm)
* [dzonatan/Unity3D-LogCat-extension](https://github.com/dzonatan/Unity3D-LogCat-extension)
* [【Unity】Unity 上で Android の logcat が実行できる「Unity3D LogCat extension」紹介 - コガネブログ](http://baba-s.hatenablog.com/entry/2018/12/27/085000)
* [【Unity】Unity 上で Android の logcat が実行できるパッケージが Package Manager からインストールできるようになった（現在はプレビュー版） - コガネブログ](http://baba-s.hatenablog.com/entry/2018/12/25/090000)
* [Unity2019は追加モジュールのAndroid SDKでsdkmanagerを実行するのが面倒](https://qiita.com/shiena/items/38ba69ea96f672941dbb)
* [PackageManagerで自作ライブラリを作成する方法](https://qiita.com/frost224/items/9832625f9f1671dd033b)