If you are restricted to 8 kHz, and need both output and input, I recommend using the SDK APIs instead.
You will not get the output latency reductions of NDK output at native sample rate,
but I think you'll find the SDK APIs easier to work with: search for AudioTrack and AudioRecord in SDK.