Open1

コマンドラインでUnityのadbを使う

bigdrabigdra

UnityのAndroidModuleを追加すると、Unityエディタの各バージョンごとにadbコマンドがインストールされます。
UnityでAndroidビルドするときに使用されるadbコマンドも自分で変更しなければ、AndroidModuleに付いてきたものが使用されるはずです。

AndroidデバイスとPCを有線接続しながらBuild And Runでapkを直接インストールする場合や、 Buildボタンでビルドした後で自分の環境でパスの通ったadbで adb install *.apk とインストールする場合は特に困りません。

ただし、 adb connect AndroidデバイスのIPアドレス でwi-fi経由でAndroidデバイスと接続している状態でBuild and Runしたい時などは、開発中のプロジェクトのUnityで使用中のadbadb connectしておく必要があります。

今のプロジェクトが使用しているadbのパスを調べてコマンド入力するのは面倒です。
以下のbashやpwshの関数を適宜bashrcやPowerShell_profile.ps1へ追加するとカレントディレクトリのUnityプロジェクトが使用しているadbコマンドを使用できます。

PowerShell

function unity-version {
    (Get-Content .\ProjectSettings\ProjectVersion.txt | Select-String "m_EditorVersion:" | %{$($_-split(" "))[1]})
}

function uadb {
    & "C:\Program Files\Unity\Hub\Editor\$(unity-version)\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\adb.exe" @args
}

bash

unity-version(){
  cat ProjectSettings/ProjectVersion.txt | grep "m_EditorVersion:" | awk -F" " '{print $2 }'
}

uadb(){
  eval "/Applications/Unity/Hub/Editor/$(unity-version)/PlaybackEngines/AndroidPlayer/SDK/platform-tools/adb" $@
}

使用例

$ unity-version
2021.3.22f1

$ uadb devices
List of devices attached
******     device

$ uadb tcpip 5555
restarting in TCP mode port: 5555

$ uadb connect 192.168.*.*:5555
connected to 192.168.*.*:5555

$ uadb devices
List of devices attached
*******     device
192.168.*.*:5555        device