Previously, we'd hang when trying to connect to an N device using an N adb. Don't do that anymore. See the last commit in the series for more detailed information.
This diff imposes a performance cost of one adb invocation in the non-daemon case when using an old adb or when using a new adb with an old device, but let's optimize for the future. In principle, we could use caching to address this performance hit, but since I expect most users to use the fast daemon invocation anyway (it happens automatically), this caching probably isn't worth the complexity.
Previously, we'd hang when trying to connect to an N device using an N adb. Don't do that anymore. See the last commit in the series for more detailed information.
This diff imposes a performance cost of one adb invocation in the non-daemon case when using an old adb or when using a new adb with an old device, but let's optimize for the future. In principle, we could use caching to address this performance hit, but since I expect most users to use the fast daemon invocation anyway (it happens automatically), this caching probably isn't worth the complexity.