Except for AirVoice, all such apps record the speaker rather than the line, and you barely hear the other side in the recordings.
The guy who wrote AirVoice knew the trick but seemed to be very annoyed by the negative feedback from Android Market, where the users of various devices (with the list of supported ones clearly stated!) tried to install that program. Because it wasn't open source, I had to disassemble it in order to write what I wanted exactly.
So the app uses an esoteric HTC driver, and NEEDS THE ROOT ACCESS just to open the device. If you do "adb shell chmod 666 '/dev/voc*' ", it'll never ask you for root access (but you have to be ROOT to execute that command).
It writes the calls in either WAV (recommended) or MP3 format (not tested much; needs some time to encode the file after the call, but the size is about 4 times smaller), stereo (left ear is your voice, right is that of the other party), to "/sdcard/voix" directory.
The kernel driver itself is kinda buggy. Actually, the auto-answer mode is non-functional for kendon's & ninpo's kernels (others not tested). Do NOT select it in Settings unless you've got such ROM and particularly need to reboot your phone on each incoming call . It'd be nice if somebody try to fix that.
If you select "Ask each time" for any incoming calls, be sure to wait half a mo until the confirmation dialog appears. The "Foreground service" (default) setting is also recommended because Android may otherwise kill it if memory is low.
Any comments are welcome. I'm not sure that I'll ever add something to this program because I'm too lazy for that, but any bugs will reasonably be fixed. The code is open source, PM me if you're a programmer and have any ideas how to improve it.
NOV 24 UPDATE
Numerous improvements/corrections/bugfixes (I'm not removing the previous version as this one haven't been much tested).