So it turns out that AOSP 8.1.0_r18 branch does not fully support a separate output
directory. (See: 'export OUT_DIR_COMMON_BASE=<path-to-your-out-directory>' at
https://source.android.com/setup/build/initializing). Specifically, the emulator does not use the set path to detect the adb binary. I also had a similar issue with idegen.sh
The 'workaround' in this case is to run the Emulator, then go to 'Extended controls' (three dots menu item) > 'Settings' > 'General' tab > 'Use detected ADB location' and manually point to OUT_DIR_COMMON_BASE/android/host/linux-x86/bin/adb.