Conversation

Replying to and
The build of an app build being debuggable isn't reflected in the app data permissions. It's not a case of security people locking stuff down and making development inconvenient. ADB is a low-level tool and isn't designed to offer a high level user interface.
3
Replying to and
Debugging on a mobile device isn't done the same way as traditional development, since it's tethered to another host. ADB is the low-level implementation of that bridge between the devices. It's not a debugger or an app development tool.
2
It's the base for higher-level tools by bridging between the devices. For example it can proxy gdb <-> gdbserver on the device and similarly for jdb, perf, etc. The app layer could be completely different like a desktop Linux stack without app sandboxing and ADB wouldn't change.
2
I don't quite understand the problem with ADB being implemented as low-level plumbing and higher-level tooling sitting on top of it, but whether or not that's subjectively a good design the attack on the security engineers and security model doesn't fit or make much sense.
1
Replying to and
You sort of view adb as an internal interface and, well, there are other views. Adb reflects a security design that has gotten quite locked down, inflexible, and not well documented over the years and pressures. A lot of things look like they should work.
1