It turns out the problem wasn’t with Android Studio, but with the device I was using for testing. I tried a different device and it behaved normally, progressing beyond “Installing APK” and stopping on breakpoints.
Somehow the “wait for debugger” setting in developer options on the problem device had switched to off. I switched this back on and now this device is behaving normally.
-Note that I had to choose an arbitrary debug app for the setting to become active. Once I’d set it on, I deselected the debug app and the setting remained on, as I left it. This was a HUAWEI P8 running android 6.0 API Level 23.