AndroidStudioがFailed to connect portとか言ってデバッグさせてくれない件【修正版配布済み】

最近のAndroidStudioがワガママばかりで言うこと聞いてくれないので調べました

#本件の修正版 29.0.4 がリリースされました

https://developer.android.com/studio/releases/platform-tools

>29.0.4 (September 2019)
>adb
>Hotfix for Native debugging timeout with LLDB >issue(https://issuetracker.google.com/140369526)

#Android studioってなんなの？ってひとはまずこちらをどうぞ

[UE4 + Android 実機デバッグのやり方 その2 (AndroidStudio篇)](http://pafuhana1213.hatenablog.com/entry/2018/03/08/000320)
[docs.unrealengine Android でのデバッグ作業](https://docs.unrealengine.com/ja/Platforms/Mobile/Android/AndroidDebugging/index.html)

#最近(2019/9)書いてある通りやってみると

AndroidStudioのConsoleはこんな感じで出力される

```shell
$ adb shell am start -n "com.YourCompany.TP422/com.epicgames.ue4.SplashActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
Waiting for application to come online: com.YourCompany.TP422
Connecting to com.YourCompany.TP422
Now Launching Native Debug Session
$ adb shell cat /data/local/tmp/lldb-server | run-as com.YourCompany.TP422 sh -c 'cat > /data/data/com.YourCompany.TP422/lldb/bin/lldb-server && chmod 700 /data/data/com.YourCompany.TP422/lldb/bin/lldb-server'
$ adb shell cat /data/local/tmp/start_lldb_server.sh | run-as com.YourCompany.TP422 sh -c 'cat > /data/data/com.YourCompany.TP422/lldb/bin/start_lldb_server.sh && chmod 700 /data/data/com.YourCompany.TP422/lldb/bin/start_lldb_server.sh'
Starting LLDB server: /data/data/com.YourCompany.TP422/lldb/bin/start_lldb_server.sh /data/data/com.YourCompany.TP422/lldb unix-abstract /com.YourCompany.TP422-0 platform-1568294162231.sock "lldb process:gdb-remote packets"
Failed to connect port

Process finished with exit code 0
```

`Failed to connect port` ・・・
AndroidStudioのバージョンを変え、端末を変え、PCを変え、ケーブルを変え、いろいろやったけど結局同じエラーで全然動かない。
これはイカンということで解決方法を探りました

#結論
[Platform-tools 29.0.3 breaks native debugging with LLDB@google issue tracker](https://issuetracker.google.com/issues/140369526)
Android Platform Toolsの 29.0.3がすべて悪い。退場してもらって29.0.2をインストールしよう。

#デグレ方法

##バージョン確認 (android studioのSDK Manager)
Tools > Android > SDK Manager

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/464248/1cba6b36-ef2b-a07e-efb5-72e377f7e4cc.png)

ここでデグレできればラクチンなんだけどできない。
とりあえずコンソールのSDKManagerを見てみよう。

##バージョン確認 (Console版SDK Manager)

```
C:\NVPACK\android-sdk-windows\tools\bin>sdkmanager.bat --list

略

  ndk-bundle                                                                               | 20.0.5594570 | NDK
  ndk;20.0.5594570                                                                         | 20.0.5594570 | NDK (Side by side) 20.0.5594570
  patcher;v4                                                                               | 1            | SDK Patch Applier v4
  platform-tools                                                                           | 29.0.3       | Android SDK Platform-Tools
  platforms;android-10                                                                     | 2            | Android SDK Platform 10
  platforms;android-11                                                                     | 2            | Android SDK Platform 11
  platforms;android-12                                                                     | 3            | Android SDK Platform 12
  platforms;android-13                                                                     | 1            | Android SDK Platform 13

```

これでもデグレできそうにない・・・困った(もしかしてこれらからデグレする方法を御存知の方がいたら教えてください！)

##googleのアーカイブからダウンロード

https://dl.google.com/android/repository/platform-tools_r29.0.2-windows.zip

これをダウンロードして展開し
`c:\NVPACK\android-sdk-windows` の中にあるplatform-toolsをリネームするか消してから
展開して出てきたものをおもむろにコピーする

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/464248/04b1ac87-1a5e-0f36-ddb5-f0a13a887294.png)

これでOK

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/464248/eb686015-c8bf-26d8-d4c0-f4de7f07678b.png)

#まとめ

AndroidStudio が `Starting lldb server` と言った後に `Failed to connect port` とか言ってくる場合はこれで治るかもしれません。

書いたあとあんまりUE4に関係ないことに気づいたのでブレイクを張ってお茶を濁してみる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/464248/a1be8a7c-7b1a-1ca6-c49d-a887c6be0192.png)