Open1
コマンドラインでUnityのadbを使う
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で使用中のadbでadb 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