[Android 4.1+] Headunit for Android Auto - 160117 - Self Mode+ other fixes, x86, 720p

Search This thread

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,823
4,146
Ottawa/Gatineau, Canada
"Headunit": The First, Best, and Only Headunit app for Android Auto, Now Open Source & Free ! :)

Turn an Android tablet into an Android Auto compatible Headunit ! :) (With several limitations at this early time of course...)

Android N developer preview: http://xdaforums.com/showpost.php?p=65749262&postcount=1165

If you purchased Headunit on Play before Google removed it: http://xdaforums.com/general/paid-s...droid-auto-t3125252/post65015637#post65015637

160117 January 17: New Self mode & Car mode fix: http://xdaforums.com/general/paid-s...droid-auto-t3125252/post64844560#post64844560

151224 December 24: 1280x720 and X86 support: http://xdaforums.com/showpost.php?p=64466237&postcount=943

151128 November 28: Voice Input + Audio Output: http://xdaforums.com/showpost.php?p=64045807&postcount=903

August 28 & 5 Voice Input etc: http://xdaforums.com/showpost.php?p=62548380&postcount=724

USB OTG Y cables I've had success with: http://xdaforums.com/showpost.php?p=62745966&postcount=792

Comments welcome: Proposal for a Private Website / Forum for the Headunit app and Automotive Android: http://xdaforums.com/showpost.php?p=62207324&postcount=587

July 24 APK Immersive mode: http://xdaforums.com/showpost.php?p=62014837&postcount=519

July 14b APK Standalone mode: http://xdaforums.com/general/paid-software/android-4-1-headunit-android-auto-t3125252/page43

July 11 APK: http://xdaforums.com/general/paid-software/android-4-1-headunit-android-auto-t3125252/page39

Quick summary of Google Play bans and final responses; I fixed each time & Google gave a different excuse each time: http://xdaforums.com/general/paid-s...droid-auto-t3125252/post61632463#post61632463

Nexus 9 OTG charging w/ M developer preview & Nexus 7 2013 w/ Timur kernel/mods: http://xdaforums.com/showpost.php?p=61632651&postcount=312

Nexus 7 2013 OTG charging while running Headunit w/ ElementalX kernel: http://xdaforums.com/showpost.php?p=61593874&postcount=290

Now Open Source and Free ! :) http://xdaforums.com/general/paid-s...droid-auto-t3125252/post61440441#post61440441

June 16 Release #5 APK: http://xdaforums.com/showpost.php?p=61422602&postcount=163

Release #2 APK and instructions: http://xdaforums.com/showpost.php?p=60894402&postcount=94

Thank you "All About Android" for covering the Headunit app in episode 218 ! :) http://xdaforums.com/showpost.php?p=61412309&postcount=152

Android Auto over WiFi Direct is coming: http://xdaforums.com/general/paid-software/android-4-1-headunit-android-auto-t3125252/page16

June 16 APK: http://xdaforums.com/general/paid-software/android-4-1-headunit-android-auto-t3125252/page15

June 12 APK Auto-Start: http://xdaforums.com/showpost.php?p=61321219&postcount=107

June 11 APK: http://xdaforums.com/general/paid-s...unit-android-auto-t3125252/page8#post61287292

June 9 APK: http://xdaforums.com/general/paid-software/android-4-1-headunit-android-auto-t3125252/page5

Android Auto is Google's latest and greatest effort to provide automotive navigation, music, phone and other features in an environment that minimizes distraction.

The Headunit app is intended for 7 inch /17 cm or larger tablets.

A $100-200 Nexus 7 tablet mounted in the car is MUCH cheaper than $700-$1400 Pioneer devices.

A $300+ 10 inch/25+ cm tablet provides a much larger & nicer screen than 6 inch double-din units.

Original XDA Thread: http://xdaforums.com/android-auto/android-auto-general/developer-mode-aa-t3059481

These are early, experimental releases. They should only be used for testing at this time.

Please note that Google has NOT released Android Auto specifications required to build a Headunit app such as this, except to headunit and auto OEMs who have paid fees and signed NDAs.

This app required over 500 hundred hours of painstaking reverse engineering (and many more to come), and another 500 or so as of mid July to build and test the app so far.

If you wish for apps like this that are professionally engineered, supported and updated, your financial support via Paypal donations is required, especially since Google will not allow Headunit apps on Play.

Help keep an independent developer working full-time++ on this cool new stuff.

Thanks for your support ! :)

Mike.


What the heck is Android Auto, and why would I want it ?: http://xdaforums.com/showpost.php?p=61114397&postcount=2

What devices and ROMs are supported ?: http://xdaforums.com/showpost.php?p=61114397&postcount=3

How do I use the Headunit app?: http://xdaforums.com/showpost.php?p=61114419&postcount=4

Troubleshooting: http://xdaforums.com/showpost.php?p=61114437&postcount=5

Supported Phones running Android Auto: http://xdaforums.com/showpost.php?p=61114468&postcount=6

Business Issues: Open Source & Pricing: http://xdaforums.com/showpost.php?p=61114482&postcount=7

Feature Requests: http://xdaforums.com/showpost.php?p=61114494&postcount=8

Coming Features: http://xdaforums.com/showpost.php?p=61114500&postcount=9

Future of Android Auto: http://xdaforums.com/showpost.php?p=61114532&postcount=10
 
Last edited:

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,823
4,146
Ottawa/Gatineau, Canada
What the heck is Android Auto, and why would I want it ?

Introduction / Different approaches:

There are many different approaches to running apps in a car, and they each have advantages and disadvantages.

Many people are happy to just install an Android tablet or Android based headunit and run apps much like they do outside of the car.

Others may mount their phone on the dash and use Android as they always do. They may plug it in to charge and might pair the phone's Bluetooth with their existing in-car audio system.

If you are using approaches like these, and you are happy with them, that's great ! I'm not a mission to convince you otherwise if you have decided these methods are best for you.


Android Auto:

Android Auto (AA) is Google's latest and greatest effort to provide automotive navigation, music, phone and other features in an environment that minimizes distraction.

AA was announced in 2014, and it's "app" first publicly released March 19, 2015, after Pioneer starting selling their AA compatible 4100/7100/8100-NEX headunits. Google did not seem ready to launch AA at that point, but Pioneer's early release of headunits seems to have forced this.

Apple has it's own rough equivalent to AA called Apple Car Play. Many who have seen both prefer AA, but iOS users also appreciate having more or less the same iOS UI they already know in their car.


How AA works (basic):

AA is not a mirroring solution like MirrorLink, Miracast or Apple Airplay. Mirroring solutions simply send phone screen video to an external, larger screen and return touch events. Thus the in-car screen is simply a blown-up version of the phone screen.

Mirroring solutions generally work with all existing apps. AA on the other hand, requires Android apps to have special AA compatible extensions added. Clearly this can be a disadvantage of AA. Few music and messaging apps can be used with AA, and the only mapping/navigation app supported is Google's.

With AA, Google mostly controls the User Interface (UI) as implemented in their AA "companion app". AA compatible apps CAN modify some of the color scheme and some related minor UI features, but the look and feel are largely Google designed and controlled.

Google has done this to minimize distraction. Although many of us will not be happy with Google's decisions. we should consider that the last things Google wants are: (1) laws against Android Auto, (2) bad publicity from distracted driving incidents, and (3) expensive lawsuits. Note that Google, Apple and the auto OEMs are reportedly negotiating who takes how much responsibility for the inevitable lawsuits, particularly in the US where multi-million dollar settlements regularly occur.

Google AA supports two types of AA compatible apps at present, with more (eg maps/navigation ?) coming in future: (1) Audio/music and (2) messaging. For the most part, audio/music AA extensions provide functions for starting/stopping/nexting/etc of the audio as well as functions to determine the music navigation hierarchy. Messaging AA extensions include sending a message to AA to be converted to speech as well as handling spoken replies.

Video and gaming apps will likely never be supported for the drivers position, at least while driving, for obvious reasons.

Many app developers are hesitating at this time to add AA extensions. At this time, there is very little revenue to be made by supporting AA (and the same has been seen for watch and TV apps). This should improve as more cars have AA installed, via OEM systems or aftermarket headunits.


So why would I want AA ?:

If you need access to ANY Android app, and not just the limited selection of AA compatible apps, then mirroring solutions will work better for you.

AA is more for people who want a solution that "just works" (although there are still many wrinkles to iron out), is well integrated, and has a common Google specified UI.

Less technically minded people will appreciate AA or Apple CarPlay, while Android power users may be happier with mounting a tablet or using an Android based (usually Chinese) HU.

An Android based HU which can run my Headunit app, may offer the best of both worlds. You can run any Android app when you need to, or run my HU app to get AA features. (At present nobody has reported success running my Headunit app on an Android based HU. I hope/presume I'll figure that out.)

I am personally convinced that AA will be very important for Google going forward. Controlling and getting the treasure-trove of data from connected cars is important to Google. We may not be far from the day when Google will get a commission when it successfully convinces us to pull over for specific fast food or auto maintenance. Want fries with your oil change ?

Because AA is important to Google, I feel confident it will not be abandoned, and will only get better as the years tick by, bugs are fixed, apps are AA enabled, etc.


Getting AA working:

Please, always do your best to drive responsibly and with a safe minimum of distraction. You assume all liability for following any of these or any other instructions.

First, your phone (or tablet) needs the AA companion app installed. US residents can install the Android Auto app from Play: https://play.google.com/store/apps/details?id=com.google.android.projection.gearhead and those outside the US can find APKs here: http://www.apkmirror.com/apk/google-inc/android-auto/ .

Next, you need an AA compatible aftermarket or auto OEM headunit. Auto OEM AA headunits (HUs) are just starting to come out for a limited selection of 2016 models. Aftermarket HUs like the Pioneer 4100/7100/8100-NEX devices are a good alternative. If a $500-700 HU is too expensive for you, that's where my Headunit app for tablets comes in, but there are some inherent disadvantages to such an app and a tablet is just one of the costs. More on this further below.

Ensure that your mobile device running the Google AA companion app is setup with a Google account. Make sure the Google apps are up-to-date, including the AA app, Google Play Services, Google Maps, and Google Play Music.

Now plug your mobile device USB into the HU. If all goes well you should see a series of prompts and screens on the HU and mobile device. If something complains that it's not safe to configure at this time, ensure your car is in the Park gear (or neutral for manual), that the emergency/parking brake is fully engaged, and press down on the brake pedal. My 4100-NEX is setup for testing, outside of a car, and I simply connect the green wire to ground or 12 volt negative line. I'm not sure that this will work well if your HU is installed such that the green wire is connected to other things.

Hopefully you will now see the main AA Intro/Google Now Screen. Select functions from the "rail" at bottom of screen: In order: Maps/navigation, Phone, Google Now, Music, and "Other/OEM".

Your mobile device should show a mostly black AA screen indicating the device is in AA/car mode. You CAN escape this and run other apps, but it is not recommended.

While your mobile device is connected via USB, it should charge. Turn the device screen off to maximize charging and minimize heat build up. Using Maps/Navigation will use the device GPS (unless the HU provides it) and this contributes to heating of the device and minimizes charging.


How AA works (technical):

Basically, the AA app creates a special environment in which it draws to a virtual screen instead of the real screen. The resulting video is encoded as an H.264 stream and sent via USB to the HU. The HU responds with touch-screen events which the AA app interprets similarly to normal Android app operation.

AA compatible audio apps contain AA audio extensions, which can provide control of audio app playback and provide information about which audio streams or files can be played. The audio app uses it's normal Android audio APIs, which the AA "app" hooks in order to send the audio to the HU, over USB or Bluetooth. I refer to the AA "app" with parentheses, because it has many hooks into Android internals which normal apps do not have access to. Thus, much of the AA "app" is really system level code, though there is a minor UI for some basic configuration and to provide access to AA developer mode functions.

The AA USB protocol also includes functions for accessing sensors, including parking brake status, gear position, fuel tank level, road speed, engine speed and many more. Only a few sensor functions are fully implemented at this time however, such as parking brake status to determine if it is safe to do configuration.

Google has referred to AA HU's as "dumb terminals". But IMO a true "dumb terminal" would simply be a touchscreen with a DVI/HDMI like interface. AA HUs DO need to have some "smarts", such as H.264 video decoding, Bluetooth and sensor signal processing.

Hardware HUs also generally provide many other functions that work standalone with no mobile device, such as AM/FM/HD radio, CD player and vendor specific apps that run on the HU.


Why would I want your Headunit app ?:

- For the customization opportunities.

I haven't seen any 10 inch / 25 cm screens on auto OEM or aftermarket HUs. Large tablets however are readily available with many choices for screens and other hardware.

- To use or experiment with Android Auto without buying a new car or a $500+ hardware headunit.

Note however that besides the tablet, you may also need a USB OTG Y cable and a powered USB hub in order to properly charge the mobile device, and tablet, without running down the tablet battery.

Some devices (for tablets, mostly non-Samsung) may need special kernels in order to charge while acting as a USB host.


Why can't we just run our phone in an AA standalone mode, without tablet or Headunit ?:

Mostly because Google does not want that. They consider screens under 7 inches / 17 cm to be distracting. Google seems to eventually want "Android in the car", so Google may be working on something like a standalone mode (for what would essentially be an Android tablet in the car), but this is nothing but rumours so far.

I know a LOT of people would REALLY like a standalone mode, so I am likely to explore the feasibility of this in the near future. I am sure that Google would disapprove of this and would eventually take measures to sabotage such a thing, so it's a tricky prospect.

I think an AA standalone mode "app" (more like system mods than an app, same as AA "app" itself) would require a rooted device. It likely would also require Xposed (or similar) to hook and modify various system functions.

Add it all up and it turns into a very difficult venture with limited returns on time invested.

A Headunit app running on a 2nd device/tablet is more feasible as Google can not just change the AA protocol overnight, and it does not require root on the tablet (except for charging of non-Samsung tablets, sigh...)


Are there any other AA compatible Headunit apps ?

At this time no, my Headunit app is the first and only of it's kind.

Google has not publicly released documentation or code to build a Headunit app, and may never do so.

It has so far taken me over 600 hours of work to reverse engineer the AA protocol and build this app. With open docs/code it might have taken only 100-200 hours at most.

I've read a report that Google must certify AA HU implementations before they are "allowed". This is likely part of the agreement and NDAs that auto and HU OEMs must sign to join Googles "Open Auto" alliance, beyond whatever fees are charged.

GENIVI appears to have plans to "open source" an AA client implementation. But AFAICT, GENIVI "open source" is not entirely public and open. I suspect Google would want to ensure that any users of such source code adhere to their requirements.

Pioneer HUs run Android. Their AA client implementation is a binary, so it's somewhat similar to an HU app. But it's specific to their hardware and will not work on general purpose Android tablets or phones.

There may be other Headunit apps to come, but I have not heard of any, beyond one persons desire to create an open source app in the long term.
 
Last edited:

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,823
4,146
Ottawa/Gatineau, Canada
What devices and ROMs are supported ?

Root is NOT required. (But root and a custom kernel may be needed on non-Samsung tablets in order to allow the tablet to charge while it's in USB host mode.)

Most Android 4.1+ ROMs should be able to work.

ICS 4.0 and earlier devices/ROMs do not have the needed video decoder and can never work. (Except by building my own decoder with FFMPeg or whatever, which is way too much work for too little return.)

A working H.264 video decoder is required, but most quality Android 4.1+ devices should have this. (Chinese/budget devices may use slow and/or buggy implementations.)

Only devices that support USB host mode are physically capable of working. Many or most tablets released in the last 2 years should support USB host mode.

Full, official support is limited to devices I own. With sufficient demand for a new device, I may purchase that device and add official support, if possible.

These are the tablets that I own and test:

Nexus 7 2012 stock.
Nexus 7 2013 stock.
Nexus 9 2014 stock.
Xperia Z2 Tablet stock. CM12 tested OK too.

Many other devices will work and I will do my best to support them.

Phones can work as a headunit, but tablets of 7 inches/17 cm or greater are recommended. Smaller screens are more distracting and can risk your safety.
 
Last edited:

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,823
4,146
Ottawa/Gatineau, Canada
How do I use the Headunit app?

At this time I can't recommend this for use while driving. It's ONLY for testing within the safety of a home or office... If you can't understand that this Headunit app is still VERY experimental and potentially very distracting while driving, then please don't run it. It's not my fault in any respect or measure if you hit a tree or kill people; it's ALL on you... You assume all responsibility for collisions, injury or the advent of Skynet...

App requires Android 4.1 ICS or higher, but I've mostly tested on Android 4.4 KK, 5.0 and 5.1 Lollipop..

I tested successfully on these, for the Headunit/Tablet side running my app:

Tablets are recommended for a decent size screen in a vehicle:
Xperia Z2 Tablet - CM12 - This 10" screen is wonderful compared to the 7 inch/17 cm 800x480 Pioneer 4100-NEX screen, despite that the video is still only 800x480 at this time.
Nexus 9 - stock - This looks pretty nice too and the CPU power helps make it look good and pretty lag free.
Nexus 7 2013 - stock
Nexus 7 2012 - stock

Phones can also work, but small screens are less safe so I can only recommend these for testing:
HTC One M8 - stock
HTC One M7 - CM12
HTC One XL - CM12
Xperia Z - Lollipop
Xperia Z1 - CM12/FXP
Moto G - CM12
GT-N7100 Note 2 - CM11, but with some video issues.

These phones have major issues or did not work for me:
GT-I9300 GS3 - CM12 unofficial
GT-N7000 Note1 - CM11
GT-I9100 - Android 5.1 ROM
GT-I9000 - Android 5.1 ROM


Note that Headunit/Tablet side issues are largely separate from Phone/Mobile Device side issues. Phones that do not work with Pioneer or other AA head units will not work with this app either, and only Google and the phone OEMs can fix that. This includes MANY very popular Samsung devices. I note that my older Samsung devices also have issues on the Headunit side, and this may be related to general USB issues on Samsungs. (?)


The Headunit/Tablet side running the Headunit app needs to connect to the phone running AA with a USB OTG cable. The OTG cable small micro-USB side needs to plug into the Headunit side.

Many devices can do USB Host for the Headunit side, but can't supply any power to the phone. For these devices a powered USB hub is required, and is recommended for all devices anyway, or the Tablet/Headunit device will quickly lose power to running the phone device.

The phone running AA plugs into the USB hub output side, and should be the only device so plugged in (or the device my app connects to will be random-ish, with HTCs having highest priority.)

When they are all plugged, be patient and wait at least 6 seconds after plugging the USB before starting my app. Most likely the Gallery app will open on the Headunit side. This is annoying, but at least it confirms the connection is good. You may have to wait, then hit Back to exit Gallery. If you get any popups, hit Back or Cancel; you might get several.

Latest AA companion apps to run on the phone side are here: http://www.apkmirror.com/apk/google-inc/android-auto/ This requires Android 5.0 Lollipop+ on the phone side as per Googles' decision, and also requires Google Mobile/Play services to be installed and an account set up.



Now you can start the Headunit. You should be prompted to allow access to USB twice. Select OK both times. Don't bother to check the "Remember" box because it never works and it's a silly Google thing. Better solutions are possible, especially if rooted.

If you have never connected the phone with AA to a headunit before, you will be prompted to do a bunch of stuff on the phone side. If you are outside the US you must manually update to the latest AA app from APKMirror etc. You may have to download Maps and Play Music if you don't have yet, and say Yes or "Standard" etc, to various prompts.

After all this, hopefully you will see video on the Headunit screen. You will likely see a safety warning prompt etc. Read it and understand it, and select OK if you dare.

Hopefully you will now come to the main/home/Overview/Now screen of AA. On some devices, video may be imperfect. Select different functions on the "rail" at bottom to help clear it up.

Touch works, but not Multi-touch yet.

Audio output was through the phone last I looked, but microphone does not work.

If you hit Back while in the app, it should exit and the AA connection is broken.

To open a new AA connection/restart the app you MUST disconnect and reconnect the USB, at any point in the chain.

It generally seems possible to turn the screen off and return to it after powering it back on, but if the orientation changes from landscape this may not work. Same for leaving the app with the Home or Recents button; if it switches to portrait, you can't get the video back and must stop the app, reconnect USB and restart the app.

I'm finding that quite a few of my phones running custom ROMs will not run AA on the phone side properly. In some cases a custom DPI really messes up the video dimensions and you can't even select the startup OK button. I see this on my One M7 with CM12 and many people see the same on other phones w/ custom ROMs, whether using a Pioneer headunit or this app.

Enjoy responsibly. :)
 
Last edited:

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,823
4,146
Ottawa/Gatineau, Canada
Troubleshooting:

Nothing more disheartening than trying a cool new app, and.... it doesn't work. :(

Public Enemy #1: Cheap/Bad USB OTG cables.

I got 3 cheap OTG cables and 2 straight and 2 right angle adapters a few months ago. The cables seemed OK in the beginning and now they're all flaky. The adapters didn't last as long and some were flaky new. 7 cables and adapters and they're all garbage. :(

I've been happy for a few weeks at least with these $10 Y cables that can power/charge both devices. I'll see if they're still good in the next few months: http://www.amazon.com/Micro-Cable-Power-Samsung-AtomicMarket/dp/B009YPYORM

But even with the best cables, your phone and tablet micro-USB ports can be a factor too. Car mounting, with constant vibrations and bumps adds to the challenge.

When I get Android Auto over Wifi working better, I hope USB will just become a backup connection. But wifi has it's own issues too.


Cheap or Chinese devices and hardware HUs are a "crap-shoot": So far I don't think I've had a single success report for Chinese devices. The ROMs and video decoding are often bad or VERY slow and USB is questionable. Some devices do not support USB Host mode or have a bad software implementation.

I recommend Nexus or good quality tablets from Sony or maybe Samsung. All tablets that I own work and are officially supported, including: Nexus 7 2012, Nexus 7 2013, Nexus 9 and Sony Xperia Z2 tablet.


July 24 or later releases recommended for testing: http://xdaforums.com/showpost.php?p=62014837&postcount=519http://xdaforums.com/general/paid-software/android-4-1-headunit-android-auto-t3125252/page39

July 24 has a bottom "Test" button to test H.264 video decoder (some phone/ROM decoders are bad or VERY slow.)

Also has a bottom "SUsb" button for devices with USB Host Mode supporting kernels even without Android support.

Also allows manual USB device selection when automatic doesn't work.


MANY possible fixes:

- You must have 2 devices for the Headunit app, so try reversing them to see if that works. This requires the Android Auto app and Google app, Google Play Music, Google Now and Google Maps to be installed on both devices of course.

- You usually need 2 cables: The micro-USB side of an OTG cable to the Headunit app device/tablet, and the full-size USB connection to a "normal" phone/USB cable connected to the Android Auto device/phone.

At least one person reversed the cables, without reversing HU and AA devices and it worked. USB can be funny; there are MANY possible jumper, resistors, wires etc combinations, especially with specialty high current charging cables.

- With some devices, an OTG Y cable MUST be powered, with others it MUST NOT be powered, and for some it doesn't matter and power can even be stopped and started with no effect.

- "Fast Charge" should be disabled if it's a kernel setting. Saw this with Elemental-X kernel on Nexus 7 2013. This kernel also has a setting to allow charging in USB Host mode.

- Sometimes enabling USB Debugging helps, sometimes disabling, sometimes turning it off, then back on. Do this at both ends: Headunit app device and Android Auto device.

- Unplug and replug cables, at both ends and in between. Ensure they are firmly pushed together. July 11 release allows you to see devices disappearing and re-appearing if cable connections are flaky and moved.

- Before starting Headunit app, plug all cables together. If Camera Importer or Gallery, or other apps pop up, hit Cancel or Back to deal with them first. Then after a few seconds of no more popups, NOW start the Headunit app. Plugging/unplugging while the app is running may work but is less successful than starting the app after plugging.

- Some devices/ROMs have various USB settings to try, such as "Charge Only", MTP, etc.

- Use the Exit button or Back key to terminate the Headunit app and try again. It kills it's own process for an extra fresh start next time.

- Use Recents button to return to the Headunit app if Android Auto covers it.

- Avoid screen switching to Portrait mode for best chances of success. Home-screens that force portrait mode can create problems, as can lock-screens.

- Self or SUsb modes require SU/root access. Sometimes the SU prompt is covered and not visible. In such cases manual SU configuration, or setting SU default to "Grant" can help.
 
Last edited:

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,823
4,146
Ottawa/Gatineau, Canada
Supported Phones running Android Auto:

Any phone that works with hardware headunits, such as Pioneer 4100/7100/8100-NEX, should also work with this Headunit app.

Note: This list is for devices running Android Auto. It is NOT for connected devices running the Headunit app, except for Self standalone mode where one device runs both.

Devices that I tested OK:

Galaxy S3 GT-I9300 CM12.
HTC One M7 stock & CM12.
HTC One M8 stock & CM12.
Xperia Z stock & CM11.
Xperia Z1 stock & CM11.
Xperia Z2 stock & CM11.
Moto G stock & CM12.
 
Last edited:

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,823
4,146
Ottawa/Gatineau, Canada
EDIT: I wrote this page before Google banned Headunit from Play and before I made it free and open source, but please feel free to read my thoughts written before that below.

Soliciting donations sucks. Thanks much to those that have and those that will. But VERY few people do. At some point I will likely have to return to a commercial model.

Those who donated, or bought Headunit on Play before the ban will become most honoured customers retroactively. :)

Business Issues:


Yes, I am (attempting) to run a business here. I hope I don't have to explain or apologize for trying to make a minimal income to help support my wife, kids, cats, pay for a house, cars, and all the usual basic accoutrements of life like food, electric, fuel, etc, etc...

I have been working 60-70 hour weeks for over 4 years now on my apps, mostly the Spirit FM apps: Spirit1, Spirit2, Spirit Transmit. I have no other income except my apps.

I am somewhat disappointed that I've been making a small fraction of what I made for decades doing contract or salaried work for a plethora of tech companies.

I have seen my Spirit FM income dropping for the last few years, and have entered into the connected car apps space in an effort to make a better income.

I hope to serve your app desires and appreciate the financial support of everyone who can afford at least roughly the price of a meal at McDonalds, or there-abouts.


Open Source:

Yes, I know EVERYONE wants free and open source software... I LOVE open source; my career has been built mostly on Linux (and Android) since 1997.

But NONE of the 20-odd companies I've done contract or salaried work for in those 18 years has open sourced their code.

Very, VERY few companies turn a profit with open source. How many app devs can you show me that make a decent living exclusively or primarily with open source ? Over 99.9% are based on closed source.

Kickstarter / IndieGogo etc ? LOL. Show me a lone app dev who has done well with that route.

If someone were to sponsor me with a decent income I'd be happy to open source everything. But that's not too likely and I'm not seeking that.

Google is keeping their AA code secret and unpublished, and they do the same with their premium apps like GMail, while the AOSP apps like EMail languish.


Pricing:

Pricing software is a funny thing. If no technical support or packaging are provided (and there are no advertising costs), the incremental cost of 1 more copy of an app is zero.

And yet if you hire people (or yourself) and pay a decent, competitive rate, the R&D costs for the 1st copy can be in the $millions for many modern apps.

There is no such thing as a "fair price"* for an app. Many think apps must be $0.99 for something simpler, or up to $10 for something more complex, and in rarer cases, $20-40-100 or much more.

(*Fair Price: If we talk about technical support, a "fair price" becomes more feasible. If my time is worth $60 per hour (and it should be much more in this field for very short term work), then 10 minutes of total time spent to support someone is worth $10. But that ignores ALL the time it takes to build and test apps.)

The number of people who will buy an app at some given price are a major determinant for a developer trying to make a decent living.

A popular non-root app for "Joe Average" that millions of people might use might be $0.99 or free with ads.

An app only for Android enthusiasts who root, ROM and install Xposed on the other hand will have a very limited market, and price must be high for a chance to make a decent living.

I've noted that there are several examples of specialist Automotive apps that sell in the $20-40 range. Then there are apps like Torque that may sell for $3-5 but have a much bigger market, and the income allows people to be hired, above and beyond supporting a single independent developer.

At this time, I've put this Headunit app for sale at less than $9 US or 8 Euro (after 20% VAT Euro prices are under 10 Euro, but I get none of that).

Note that Google takes 30% (42% markup !) so I only get about $6 US per app. That hardly buys a Big Mac these days...

My desire is to license this Headunit app on a per device basis, though Google doesn't provide any easy method to do so. So if you use this app in 2 cars, but with only one Play store purchase, I'd appreciate consideration via Paypal. There is NO DRM in this app and I REALLY hope not to use any form of copy protection. DRM is mostly trouble.

I reserve the right to change price at any time. As the app becomes more fully featured, I may raise the price as needed to get sufficient income to work on this full time.

Without sufficient financial support, I'll just have to spend more time on other app opportunities. So if you use and like this app (or just want to support such) please support me so I can support you.

And please help spread the word about this app. I'd rather spend time working on wonderful new features and fixing bugs (LOL) than spending time doing marketing stuff, or spending/wasting money on advertising.

Thanks ! :)

Mike.
 
Last edited:

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,823
4,146
Ottawa/Gatineau, Canada
Coming Features:

(Originally written in June. Amended August.)

Features I guarantee I will try to added in the relatively short term of 1-3 months:

- Automatic start at plugin.

- Bypass USB permissions with root. (July 24 "SUsb" button)

- Multitouch support (pinch zoom GMaps)

- Resolution increase & switching, if possible. 800x480 at present, 1280x720, 1920x1080. (July 24 still does not seem possible. No hardware HUs higher than 800x480 so Google hasn't enabled ?)
 
Last edited:

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,823
4,146
Ottawa/Gatineau, Canada
"Headunit" - Build an AA Headunit with a $165 tablet...

As I posted on the original thread:

240 downloads of the Free APK now... :) http://xdaforums.com/showpost.php?p=60894402&postcount=94

"Headunit" is the app name I've settled on. Short & sweet. :)

Want to see this Headunit app fixed and improved on a regular basis ?

Then I need your help...



First need is some IMO well deserved publicity. There is no other app like this and I think there is a need...

I saw LOTS of excitement on Android enthusiast sites about Android Auto. And a LOT of excitement dissipated hearing that a $700 Headunit or new car was required.

So wouldn't turning a $165 Nexus 7 2013 tablet into a basic AA Headunit with an app restore some excitement ?

I've been busy on the tech side, but to keep this project moving, people need to find out about it.

I've started a new thread here for all further discussion about my Headunit app: http://xdaforums.com/general/paid-software/android-4-1-headunit-android-auto-t3125252

If it seems worthy to you, please consider clicking on "Submit Thread as News Tip" at top right of that thread.

Most Android news and discussion sites have similar functions to submit news tips. If it comes from people like you, I'd think it has more weight than me trying to promote my new app.



XDA is kinda, sorta, not supposed to be used to SELL things (and that's kinda vague & fuzzy, and there IS a section for paid apps, where my new thread is), and I understand and respect that...

But truth is that my second, and perhaps most important need, in order to support YOU, is for some "little bits" of support from you... See my new thread or sig for the new paid APK on Play.



There are other, Android Auto/Connected Car app ideas I have, should this one garner insufficient support. Feel free to comment:

- Use any media player (or messenging) with AA, where it does not have AA extensions.

- App to connect sensors, + via ODB and maybe Torque like functionality.

- Standalone mode for AA running on a phone. Will likely require root and Xposed and LOTS of work and workaround when Google sabotages it.

- Customization of Android Auto via root/Xposed app; Change anything from backgrounds to color to rules that AA imposes in the name of safety and anything else that needs a mod.


Thanks ! :)

Mike ( mikereidis@gmail.com )
 
Last edited:

jpreston84

Member
Dec 16, 2008
22
6
Hi!

I've just purchased your headunit app. I've attempted to connect it, but am unable to get it working. I'm really excited to see something like this, and can probably help you debug it if needed.

My devices:
- Nexus 7 (2012 Wifi), running stock Android 5.1.1, stock recovery, rooted with Nexus Root Toolkit
- Nexus 4, running stock Android 5.1.1, custom recovery, rooted with Nexus Root Toolkit

Cables:
- USB OTG cable, purchased some time ago, but known to be functional -- I've used it on my Nexus 4 to connect a microSD reader.
- Micro USB (male) connector from USB OTG cable plugged into Nexus 7.
- Charging cable plugged into micro USB connector (female) on USB OTG cable.
- Standard micro USB connected from Nexus 4 to USB A (female) port on USB OTG cable.
- Both devices show as charging.

Problem:
- When starting Headunit app, the screen stays black (with only standard on-screen controls, and never prompts me on either device for anything).
- I have also tested this in reverse, by sideloading the Headunit APK onto my Nexus 4 (Google Play Store said incompatible, but what do they know? ;) ), and sideloading the Android Auto app onto my Nexus 7. I reversed the cabling, so that the USB OTG cable is plugged into the Nexus 4 as the host device. Same results.
- I've tried various combinations of unplugging and replugging, force closing and restarting apps, etc.

What's the next step in debugging this setup?
 
  • Like
Reactions: mikereidis

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,823
4,146
Ottawa/Gatineau, Canada
Hi!

I've just purchased your headunit app. I've attempted to connect it, but am unable to get it working. I'm really excited to see something like this, and can probably help you debug it if needed.

My devices:
- Nexus 7 (2012 Wifi), running stock Android 5.1.1, stock recovery, rooted with Nexus Root Toolkit
- Nexus 4, running stock Android 5.1.1, custom recovery, rooted with Nexus Root Toolkit

Cables:
- USB OTG cable, purchased some time ago, but known to be functional -- I've used it on my Nexus 4 to connect a microSD reader.
- Micro USB (male) connector from USB OTG cable plugged into Nexus 7.
- Charging cable plugged into micro USB connector (female) on USB OTG cable.
- Standard micro USB connected from Nexus 4 to USB A (female) port on USB OTG cable.
- Both devices show as charging.

Problem:
- When starting Headunit app, the screen stays black (with only standard on-screen controls, and never prompts me on either device for anything).
- I have also tested this in reverse, by sideloading the Headunit APK onto my Nexus 4 (Google Play Store said incompatible, but what do they know? ;) ), and sideloading the Android Auto app onto my Nexus 7. I reversed the cabling, so that the USB OTG cable is plugged into the Nexus 4 as the host device. Same results.
- I've tried various combinations of unplugging and replugging, force closing and restarting apps, etc.

What's the next step in debugging this setup?

Hi, Thanks for your support. :)

Send me an email at mikereidis@gmail.com and I'll send you a debug release. Or I'll PM you a link when I get one built in a few hours. Are you able to capture a logcat or should I add an easy "Send logcat" button ?

Some quick googling tells me the stock Nexus 4 does not support USB OTG (ie running the headunit app). But some kernels enable this and this is the first thread I saw about that: http://xdaforums.com/nexus-4/orig-development/usb-otg-externally-powered-usb-otg-t2181820/page154

The app specifies that USB OTG is required, and I thought that was a great way to prevent people from purchasing on incompatible devices. But now that I see Nexus 4 (and I'm sure many other devices) can do OTG with a custom kernel, I guess I should remove that as a hard requirement. A popup warning would be better.


I have that same Nexus 7 2012 with the latest Android 5.1.1 (unrooted even) and pretty much stock, and all released versions of the Headunit app work on it. So I feel confident that the hardware and software work OK together.

And AFAIK, Android Auto runs fine on stock Nexus 4.

If you aren't getting prompted for USB permissions on the Headunit app side, that seems to indicate a connection problem.

Can you stop charging the Nexus 7 and reboot it to see if that helps ? My understanding is that Nexus devices can't do USB host mode and charge at the same time. Custom kernels are needed to allow this.

If you have a plain OTG cable without a charging connection please try that also. Ensure that the regular USB cable supports data tranfer. Some are for charging only.

My test setup is:

- 1 regular USB cable: large male (plugged into OTG large female) to micro-USB male (plugged into Android Auto phone).
- 1 OTG cable: large femaie (plugged into regular large male) to micro-USB male (plugged into Headunit device).

Sometimes between the 2 cables I insert a powered USB hub, but a straight connection seems to work for both Nexus 7's, Nexus 9 and Xperia Z2 tablet, though it does drain the Headunit device battery to charge the Android Auto device.


A good sign that the cabling is working is seeing the Gallery app opening on the Headunit device when they are plugged. Android Auto device pictures and videos are shown via USB MTP I guess.


I'm going to add a startup screen that shows connected USB devices and that can be used for trouble-shooting.
 
Last edited:

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,823
4,146
Ottawa/Gatineau, Canada
This thread needs to be woken up... ;)

If you have ANY questions or comments, please post !

I'm encouraged to see the Headunit app on Play has had 2 confirmed sales in the last 2 days; there are also 9 cancels (boo !) and 3 unconfirmed....

Pretty Good I think for the first few days of a new app.... Could be more if I remove the strict USB host requirement, but probably more disappointed cancellers too.

I appreciate Google Play reviews from anyone who has purchased and/or cancelled.

Right now I have two 1 star reviews on Play to deal with; thankfully Google lets us reply to reviews now.

Here's what I just added to the Play Store description:

No risk/full refund within 90 days. Just email 15 digit order ID or email of purchase to mikereidis@gmail.com . But "be warned" that I WILL do my best to get this app working for you and make you happy, or at least explain why your device may be incompatible... ;)
 
  • Like
Reactions: MRFERRARI23

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,823
4,146
Ottawa/Gatineau, Canada
Message to app reviewers on Play:

The Reviews section of Google Play has a 350 letter maximum. It is impossible to provide good technical support with that limit.

Please email me mikereidis@gmail.com for private support.

But I prefer to discuss publicly for everyone's benefit if you are registered or don't mind registering at XDA Developers Forum. Headunit Thread: http://xdaforums.com/general/paid-software/android-4-1-headunit-android-auto-t3125252

If Headunit is working well for you, Great !

For problems, please read on:

I updated the Play Store description with this:

NOTE: Requires 2 devices ! Needs an Android 4.1+ tablet (that supports USB Host mode) running this Headunit app connected to an Android 5.0+ phone running Android Auto. Connection requires 1 standard phone USB cable and a special USB OTG cable connected to the Headunit app device.

No risk/full refund within 90 days. Just email 15 digit order ID or email of purchase to mikereidis@gmail.com . But "be warned" that I WILL do my best to get this app working for you and make you happy, or at least explain why your device may be incompatible... ;)
I hope you understand this is the first release of a new type of app, and that I'm still calling it "experimental".

I will do my best to support as many devices as I can. But some devices will never work, particularly those that can not support "USB Host Mode".

The most common problem will be USB cable connection problems. Generally, you will need at least 2 cables:

1 USB OTG cable connected to tablet or other device running the Headunit app.

1 Regular USB cable connected to phone running Android Auto.

The cables are connected together of course, directly or though a hub. Sometimes you may need to insert a powered USB hub between the cables, with the powered side going to the Android Auto phone.

Sometimes connections may be loose. Ensure that (at least) all 3 connections are securely made. Gently try to push the plugs in just a little deeper to see if it goes farther. This has fixed it for me more than once.


I will put some better debugging and logging options in the next release of this app.

There is a LOT more information about how to get the Headunit app working, and some trouble-shooting hints in the First 10 posts of thread: http://xdaforums.com/general/paid-software/android-4-1-headunit-android-auto-t3125252
 
Last edited:

CJSnet

Senior Member
Oct 1, 2005
1,016
118
www.superhighstreet.com
Hi, good work on getting this started. For me the deal breaker feature down the line would be car integration, namely:

Bluetooth calls take place over car mic and speakers
Steering wheel controls (volume, answer, next track, etc.)
I imagine some support for the pioneer adapter that allows this would be feasible.

Any plans or knowledge about that?
 

ldti

Member
Dec 18, 2006
31
9
ok, seems to be working ok (although slowly) on a nexus 7 2012 (as headunit). does not work at all on a nexus 7 2013 (as headunit), just a black screen without any notices.
 

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,823
4,146
Ottawa/Gatineau, Canada
I would really like to try this, but the USB port of my N7 2012 is broken, and I still haven't fixed it :/

:)

I really hope that Google can enable Android Auto over WiFi soon. If not, I will consider mods that would allow this. But it would require root on both sides; an AA standalone mode (that only needs one rooted device) may be desirable to more people.

Android Auto over Wifi would solve USB specific connection problems, like the need for USB Host mode on the Headunit and the associated "charging while in USB host mode" problems that usually requite a custom kernel.
 

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,823
4,146
Ottawa/Gatineau, Canada
ok, seems to be working ok (although slowly) on a nexus 7 2012 (as headunit). does not work at all on a nexus 7 2013 (as headunit), just a black screen without any notices.

Good start... :)

My N7 2012 seems to have good video speed, but I only use it for testing so I have very few apps and they aren't doing many background tasks.

Does the video have defects or does it look accurate ? I have seen slowness and defects together, but mostly on my older, slower phones.

The release I'm working on now has better debbuging capabilities. I'll try to post a new version within the next 12 hours.

Can I presume both Nexus 7's are stock ? Root and recovery shouldn't matter, but a custom kernel (or ROM) could make a big difference.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 61
    "Headunit": The First, Best, and Only Headunit app for Android Auto, Now Open Source & Free ! :)

    Turn an Android tablet into an Android Auto compatible Headunit ! :) (With several limitations at this early time of course...)

    Android N developer preview: http://xdaforums.com/showpost.php?p=65749262&postcount=1165

    If you purchased Headunit on Play before Google removed it: http://xdaforums.com/general/paid-s...droid-auto-t3125252/post65015637#post65015637

    160117 January 17: New Self mode & Car mode fix: http://xdaforums.com/general/paid-s...droid-auto-t3125252/post64844560#post64844560

    151224 December 24: 1280x720 and X86 support: http://xdaforums.com/showpost.php?p=64466237&postcount=943

    151128 November 28: Voice Input + Audio Output: http://xdaforums.com/showpost.php?p=64045807&postcount=903

    August 28 & 5 Voice Input etc: http://xdaforums.com/showpost.php?p=62548380&postcount=724

    USB OTG Y cables I've had success with: http://xdaforums.com/showpost.php?p=62745966&postcount=792

    Comments welcome: Proposal for a Private Website / Forum for the Headunit app and Automotive Android: http://xdaforums.com/showpost.php?p=62207324&postcount=587

    July 24 APK Immersive mode: http://xdaforums.com/showpost.php?p=62014837&postcount=519

    July 14b APK Standalone mode: http://xdaforums.com/general/paid-software/android-4-1-headunit-android-auto-t3125252/page43

    July 11 APK: http://xdaforums.com/general/paid-software/android-4-1-headunit-android-auto-t3125252/page39

    Quick summary of Google Play bans and final responses; I fixed each time & Google gave a different excuse each time: http://xdaforums.com/general/paid-s...droid-auto-t3125252/post61632463#post61632463

    Nexus 9 OTG charging w/ M developer preview & Nexus 7 2013 w/ Timur kernel/mods: http://xdaforums.com/showpost.php?p=61632651&postcount=312

    Nexus 7 2013 OTG charging while running Headunit w/ ElementalX kernel: http://xdaforums.com/showpost.php?p=61593874&postcount=290

    Now Open Source and Free ! :) http://xdaforums.com/general/paid-s...droid-auto-t3125252/post61440441#post61440441

    June 16 Release #5 APK: http://xdaforums.com/showpost.php?p=61422602&postcount=163

    Release #2 APK and instructions: http://xdaforums.com/showpost.php?p=60894402&postcount=94

    Thank you "All About Android" for covering the Headunit app in episode 218 ! :) http://xdaforums.com/showpost.php?p=61412309&postcount=152

    Android Auto over WiFi Direct is coming: http://xdaforums.com/general/paid-software/android-4-1-headunit-android-auto-t3125252/page16

    June 16 APK: http://xdaforums.com/general/paid-software/android-4-1-headunit-android-auto-t3125252/page15

    June 12 APK Auto-Start: http://xdaforums.com/showpost.php?p=61321219&postcount=107

    June 11 APK: http://xdaforums.com/general/paid-s...unit-android-auto-t3125252/page8#post61287292

    June 9 APK: http://xdaforums.com/general/paid-software/android-4-1-headunit-android-auto-t3125252/page5

    Android Auto is Google's latest and greatest effort to provide automotive navigation, music, phone and other features in an environment that minimizes distraction.

    The Headunit app is intended for 7 inch /17 cm or larger tablets.

    A $100-200 Nexus 7 tablet mounted in the car is MUCH cheaper than $700-$1400 Pioneer devices.

    A $300+ 10 inch/25+ cm tablet provides a much larger & nicer screen than 6 inch double-din units.

    Original XDA Thread: http://xdaforums.com/android-auto/android-auto-general/developer-mode-aa-t3059481

    These are early, experimental releases. They should only be used for testing at this time.

    Please note that Google has NOT released Android Auto specifications required to build a Headunit app such as this, except to headunit and auto OEMs who have paid fees and signed NDAs.

    This app required over 500 hundred hours of painstaking reverse engineering (and many more to come), and another 500 or so as of mid July to build and test the app so far.

    If you wish for apps like this that are professionally engineered, supported and updated, your financial support via Paypal donations is required, especially since Google will not allow Headunit apps on Play.

    Help keep an independent developer working full-time++ on this cool new stuff.

    Thanks for your support ! :)

    Mike.


    What the heck is Android Auto, and why would I want it ?: http://xdaforums.com/showpost.php?p=61114397&postcount=2

    What devices and ROMs are supported ?: http://xdaforums.com/showpost.php?p=61114397&postcount=3

    How do I use the Headunit app?: http://xdaforums.com/showpost.php?p=61114419&postcount=4

    Troubleshooting: http://xdaforums.com/showpost.php?p=61114437&postcount=5

    Supported Phones running Android Auto: http://xdaforums.com/showpost.php?p=61114468&postcount=6

    Business Issues: Open Source & Pricing: http://xdaforums.com/showpost.php?p=61114482&postcount=7

    Feature Requests: http://xdaforums.com/showpost.php?p=61114494&postcount=8

    Coming Features: http://xdaforums.com/showpost.php?p=61114500&postcount=9

    Future of Android Auto: http://xdaforums.com/showpost.php?p=61114532&postcount=10
    16
    What the heck is Android Auto, and why would I want it ?

    Introduction / Different approaches:

    There are many different approaches to running apps in a car, and they each have advantages and disadvantages.

    Many people are happy to just install an Android tablet or Android based headunit and run apps much like they do outside of the car.

    Others may mount their phone on the dash and use Android as they always do. They may plug it in to charge and might pair the phone's Bluetooth with their existing in-car audio system.

    If you are using approaches like these, and you are happy with them, that's great ! I'm not a mission to convince you otherwise if you have decided these methods are best for you.


    Android Auto:

    Android Auto (AA) is Google's latest and greatest effort to provide automotive navigation, music, phone and other features in an environment that minimizes distraction.

    AA was announced in 2014, and it's "app" first publicly released March 19, 2015, after Pioneer starting selling their AA compatible 4100/7100/8100-NEX headunits. Google did not seem ready to launch AA at that point, but Pioneer's early release of headunits seems to have forced this.

    Apple has it's own rough equivalent to AA called Apple Car Play. Many who have seen both prefer AA, but iOS users also appreciate having more or less the same iOS UI they already know in their car.


    How AA works (basic):

    AA is not a mirroring solution like MirrorLink, Miracast or Apple Airplay. Mirroring solutions simply send phone screen video to an external, larger screen and return touch events. Thus the in-car screen is simply a blown-up version of the phone screen.

    Mirroring solutions generally work with all existing apps. AA on the other hand, requires Android apps to have special AA compatible extensions added. Clearly this can be a disadvantage of AA. Few music and messaging apps can be used with AA, and the only mapping/navigation app supported is Google's.

    With AA, Google mostly controls the User Interface (UI) as implemented in their AA "companion app". AA compatible apps CAN modify some of the color scheme and some related minor UI features, but the look and feel are largely Google designed and controlled.

    Google has done this to minimize distraction. Although many of us will not be happy with Google's decisions. we should consider that the last things Google wants are: (1) laws against Android Auto, (2) bad publicity from distracted driving incidents, and (3) expensive lawsuits. Note that Google, Apple and the auto OEMs are reportedly negotiating who takes how much responsibility for the inevitable lawsuits, particularly in the US where multi-million dollar settlements regularly occur.

    Google AA supports two types of AA compatible apps at present, with more (eg maps/navigation ?) coming in future: (1) Audio/music and (2) messaging. For the most part, audio/music AA extensions provide functions for starting/stopping/nexting/etc of the audio as well as functions to determine the music navigation hierarchy. Messaging AA extensions include sending a message to AA to be converted to speech as well as handling spoken replies.

    Video and gaming apps will likely never be supported for the drivers position, at least while driving, for obvious reasons.

    Many app developers are hesitating at this time to add AA extensions. At this time, there is very little revenue to be made by supporting AA (and the same has been seen for watch and TV apps). This should improve as more cars have AA installed, via OEM systems or aftermarket headunits.


    So why would I want AA ?:

    If you need access to ANY Android app, and not just the limited selection of AA compatible apps, then mirroring solutions will work better for you.

    AA is more for people who want a solution that "just works" (although there are still many wrinkles to iron out), is well integrated, and has a common Google specified UI.

    Less technically minded people will appreciate AA or Apple CarPlay, while Android power users may be happier with mounting a tablet or using an Android based (usually Chinese) HU.

    An Android based HU which can run my Headunit app, may offer the best of both worlds. You can run any Android app when you need to, or run my HU app to get AA features. (At present nobody has reported success running my Headunit app on an Android based HU. I hope/presume I'll figure that out.)

    I am personally convinced that AA will be very important for Google going forward. Controlling and getting the treasure-trove of data from connected cars is important to Google. We may not be far from the day when Google will get a commission when it successfully convinces us to pull over for specific fast food or auto maintenance. Want fries with your oil change ?

    Because AA is important to Google, I feel confident it will not be abandoned, and will only get better as the years tick by, bugs are fixed, apps are AA enabled, etc.


    Getting AA working:

    Please, always do your best to drive responsibly and with a safe minimum of distraction. You assume all liability for following any of these or any other instructions.

    First, your phone (or tablet) needs the AA companion app installed. US residents can install the Android Auto app from Play: https://play.google.com/store/apps/details?id=com.google.android.projection.gearhead and those outside the US can find APKs here: http://www.apkmirror.com/apk/google-inc/android-auto/ .

    Next, you need an AA compatible aftermarket or auto OEM headunit. Auto OEM AA headunits (HUs) are just starting to come out for a limited selection of 2016 models. Aftermarket HUs like the Pioneer 4100/7100/8100-NEX devices are a good alternative. If a $500-700 HU is too expensive for you, that's where my Headunit app for tablets comes in, but there are some inherent disadvantages to such an app and a tablet is just one of the costs. More on this further below.

    Ensure that your mobile device running the Google AA companion app is setup with a Google account. Make sure the Google apps are up-to-date, including the AA app, Google Play Services, Google Maps, and Google Play Music.

    Now plug your mobile device USB into the HU. If all goes well you should see a series of prompts and screens on the HU and mobile device. If something complains that it's not safe to configure at this time, ensure your car is in the Park gear (or neutral for manual), that the emergency/parking brake is fully engaged, and press down on the brake pedal. My 4100-NEX is setup for testing, outside of a car, and I simply connect the green wire to ground or 12 volt negative line. I'm not sure that this will work well if your HU is installed such that the green wire is connected to other things.

    Hopefully you will now see the main AA Intro/Google Now Screen. Select functions from the "rail" at bottom of screen: In order: Maps/navigation, Phone, Google Now, Music, and "Other/OEM".

    Your mobile device should show a mostly black AA screen indicating the device is in AA/car mode. You CAN escape this and run other apps, but it is not recommended.

    While your mobile device is connected via USB, it should charge. Turn the device screen off to maximize charging and minimize heat build up. Using Maps/Navigation will use the device GPS (unless the HU provides it) and this contributes to heating of the device and minimizes charging.


    How AA works (technical):

    Basically, the AA app creates a special environment in which it draws to a virtual screen instead of the real screen. The resulting video is encoded as an H.264 stream and sent via USB to the HU. The HU responds with touch-screen events which the AA app interprets similarly to normal Android app operation.

    AA compatible audio apps contain AA audio extensions, which can provide control of audio app playback and provide information about which audio streams or files can be played. The audio app uses it's normal Android audio APIs, which the AA "app" hooks in order to send the audio to the HU, over USB or Bluetooth. I refer to the AA "app" with parentheses, because it has many hooks into Android internals which normal apps do not have access to. Thus, much of the AA "app" is really system level code, though there is a minor UI for some basic configuration and to provide access to AA developer mode functions.

    The AA USB protocol also includes functions for accessing sensors, including parking brake status, gear position, fuel tank level, road speed, engine speed and many more. Only a few sensor functions are fully implemented at this time however, such as parking brake status to determine if it is safe to do configuration.

    Google has referred to AA HU's as "dumb terminals". But IMO a true "dumb terminal" would simply be a touchscreen with a DVI/HDMI like interface. AA HUs DO need to have some "smarts", such as H.264 video decoding, Bluetooth and sensor signal processing.

    Hardware HUs also generally provide many other functions that work standalone with no mobile device, such as AM/FM/HD radio, CD player and vendor specific apps that run on the HU.


    Why would I want your Headunit app ?:

    - For the customization opportunities.

    I haven't seen any 10 inch / 25 cm screens on auto OEM or aftermarket HUs. Large tablets however are readily available with many choices for screens and other hardware.

    - To use or experiment with Android Auto without buying a new car or a $500+ hardware headunit.

    Note however that besides the tablet, you may also need a USB OTG Y cable and a powered USB hub in order to properly charge the mobile device, and tablet, without running down the tablet battery.

    Some devices (for tablets, mostly non-Samsung) may need special kernels in order to charge while acting as a USB host.


    Why can't we just run our phone in an AA standalone mode, without tablet or Headunit ?:

    Mostly because Google does not want that. They consider screens under 7 inches / 17 cm to be distracting. Google seems to eventually want "Android in the car", so Google may be working on something like a standalone mode (for what would essentially be an Android tablet in the car), but this is nothing but rumours so far.

    I know a LOT of people would REALLY like a standalone mode, so I am likely to explore the feasibility of this in the near future. I am sure that Google would disapprove of this and would eventually take measures to sabotage such a thing, so it's a tricky prospect.

    I think an AA standalone mode "app" (more like system mods than an app, same as AA "app" itself) would require a rooted device. It likely would also require Xposed (or similar) to hook and modify various system functions.

    Add it all up and it turns into a very difficult venture with limited returns on time invested.

    A Headunit app running on a 2nd device/tablet is more feasible as Google can not just change the AA protocol overnight, and it does not require root on the tablet (except for charging of non-Samsung tablets, sigh...)


    Are there any other AA compatible Headunit apps ?

    At this time no, my Headunit app is the first and only of it's kind.

    Google has not publicly released documentation or code to build a Headunit app, and may never do so.

    It has so far taken me over 600 hours of work to reverse engineer the AA protocol and build this app. With open docs/code it might have taken only 100-200 hours at most.

    I've read a report that Google must certify AA HU implementations before they are "allowed". This is likely part of the agreement and NDAs that auto and HU OEMs must sign to join Googles "Open Auto" alliance, beyond whatever fees are charged.

    GENIVI appears to have plans to "open source" an AA client implementation. But AFAICT, GENIVI "open source" is not entirely public and open. I suspect Google would want to ensure that any users of such source code adhere to their requirements.

    Pioneer HUs run Android. Their AA client implementation is a binary, so it's somewhat similar to an HU app. But it's specific to their hardware and will not work on general purpose Android tablets or phones.

    There may be other Headunit apps to come, but I have not heard of any, beyond one persons desire to create an open source app in the long term.
    8
    What devices and ROMs are supported ?

    Root is NOT required. (But root and a custom kernel may be needed on non-Samsung tablets in order to allow the tablet to charge while it's in USB host mode.)

    Most Android 4.1+ ROMs should be able to work.

    ICS 4.0 and earlier devices/ROMs do not have the needed video decoder and can never work. (Except by building my own decoder with FFMPeg or whatever, which is way too much work for too little return.)

    A working H.264 video decoder is required, but most quality Android 4.1+ devices should have this. (Chinese/budget devices may use slow and/or buggy implementations.)

    Only devices that support USB host mode are physically capable of working. Many or most tablets released in the last 2 years should support USB host mode.

    Full, official support is limited to devices I own. With sufficient demand for a new device, I may purchase that device and add official support, if possible.

    These are the tablets that I own and test:

    Nexus 7 2012 stock.
    Nexus 7 2013 stock.
    Nexus 9 2014 stock.
    Xperia Z2 Tablet stock. CM12 tested OK too.

    Many other devices will work and I will do my best to support them.

    Phones can work as a headunit, but tablets of 7 inches/17 cm or greater are recommended. Smaller screens are more distracting and can risk your safety.
    8
    I said "Take me home" for the 256th time...

    And Android Auto finally listened, LOL. :)


    Voice Input was the last major piece of the puzzle and it's now cracked.

    WooHoo ! ;)
    8
    Announcing: Headunit for Android Auto is now Open Source & Free ! :)

    Headunit for Android Auto is now free as in "freedom" as well as "free beer" (Do not drink & drive !).

    Headunit is not sold. If you purchased on Play email me at mikereidis@gmail.com if you want the order cancelled.

    I am happy to accept donations via Paypal to http://xdaforums.com/donatetome.php?u=3575078 or mikereidis@gmail.com and offers of sponsorships.

    Latest APK here: http://xdaforums.com/showpost.php?p=61422602&postcount=163

    I have posted the code as GPLv3 Affero here: https://github.com/mikereidis/headunit


    I am considering changing license to BSD or Apache.


    The code is limited, experimental and "quickly hacked together" at this time, but will improve quickly as I focus all of my efforts on it.


    The code could be much more useful if other developers contribute by producing variants, enhancements etc. One person alone is much less powerful than a community.

    I'm happy to hear any thoughts, but I'm pretty sure most of you would be happy to hear this. I myself have said that very few open source projects produce a decent income for developers, but there are many options.

    The auto "infotainment" industry is increasingly co-operating and moving to open source models. Examples include Automotive Grade Linux, and the less open GENIVI.... (And Tizen IVI and Auto Grade Android and....)