The CANBOX units for android radio's usually have the following pinouts
20 pin adapter
1: Batt 2: GND
3: AVC - 4: AVC LAN +
5: REVERSE OUT To HeadUnit 6: ILL-OUT to HeadtUnit
7: REV CAM Power 8: Park Signal IN
9: IGN In 10: ACC in
11: CAN-L to Car 12: CAN-H to Car
13: NC (model feature) 14: H/Unit RX Can data (3.3v)
15: H/Unit TX Can data (3.3v) 16:NC (model Feature)
17:Amp In Signal 18: SWC1
19: SWC2 20: SWC3
In this case the unit I have posted is a Toyota/Lexus unit.
H/Unit TX/RX is a uart type signal for comms from canbox to the mcu on the Android head unit (MCT/MCD/FTY etc) which in turn tell android whats going on with the various BUS's this lexus would have.
AVC LAN is the car's audio system comms control for vehicles. (bmw has it's own system so does merc )
SWC1/2/3 is a resistor based switch that reads teh Steering wheel control. (this is very common for 2000+ year vehicles as it's super simple to read many buttons from just 2/3 wires.
I have *LOT* of documentation posted on xda forums on this subject already, you should search darkspr1te + canbox on xda.
as well as code samples on my github
attached also is the 16 pin v/w and volvo shcematics.
darkspr1te