[CLOSED] Headunit app for Android Auto ; Reverse engineering AA USB protocol

Name for Android Auto Headunit app for tablets

  • aaAhead

    Votes: 0 0.0%
  • aAhead

    Votes: 0 0.0%
  • AA Ahead

    Votes: 1 10.0%
  • Ahead AA

    Votes: 0 0.0%
  • Head

    Votes: 0 0.0%
  • Head1

    Votes: 0 0.0%
  • Headunit

    Votes: 4 40.0%
  • Headunit One

    Votes: 1 10.0%
  • Anything but these

    Votes: 4 40.0%
  • Other - Please post

    Votes: 0 0.0%

  • Total voters
    10
Status
Not open for further replies.
Search This thread

mikereidis

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

This app isn't as revolutionary as flappy birds but I didn't mind paying $30 for it. I have no idea of the effort it took to create it but can only assume if it were easy there would be cheaper competitors.
https://play.google.com/store/apps/details?id=mars.area51.arunchained&hl=en

Yes, $30-40 or so is a common price point I've seen for some specialized car audio type apps or other similar-ish software.

This is the sort of "non-guaranteed" way to make money that most companies won't touch.

Except for the large leaders in various segments, one of the few ways to reliably make money on Android is with addictive games with in app purchases. A small minority of "whales" are really addicted and have money to blow, often in the hundreds of dollars.

Pricing is a funny thing. What I and other devs have seen is that within a range, say $1-10 at least, doubling the price tends to half sales, and vice versa. IE you make about the same regardless of price.

But, it you provide useful, helpful technical support, you tend to want to raise prices to limit the time it requires, because that leaves more time for development and perhaps a personal/family life which we all deserve.


There's really no such thing as a "fair price" for an app (without support*); software is a very abstract thing. (But add support and we can talk about hourly rates from $10-$200 an hour being "fair" depending on many particulars.)

The users usually have no idea how much work it takes and most don't care anyway; it's not "their problem". We all feel the same way I think when we want to buy something like a car. We buy the best for our needs, given our budget, without really caring about how profitable the manufacturers are, or aren't.
 

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,823
4,146
Ottawa/Gatineau, Canada
Back to the Android Auto technology... :)

The first release was mostly a prototype, I'm now designing and building "the real thing".

I finally figured out how to deal with the SSL handshake, so next release will not require the shim library and root on the AA phone.

But next release might be 3-4 weeks away.

In the long run, robust, maintainable and more easily extensible software design and construction is worth the time it takes. (Just beware paralysis by analysis and get coding sometime too.)

My fave SW Dev maxim: design it well enough and implementation becomes almost trivial.
 

brainscollector

Senior Member
Apr 2, 2013
385
238
Congrats on cracking it up.
Anyway, I'm sorry if I sounded rude. I'm uhm, sort of dev, I'm not writing apps but help in it a little and mostly do the UI stuff, also I'm earning from google play as said. It wasn't to say some sh!t to you, and again sorry if that sounds like that. Also as said long time ago I will buy your app for sure, just waiting for "easy to use" app (SSL will do the job aas you said).
So, good luck !
 
  • Like
Reactions: adfurgerson

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,823
4,146
Ottawa/Gatineau, Canada
Master, Master, Any news ??

:)

I'm fighting libusb crashes and openssl issues and ALL the hazards of modern development.

But it's also good to do some reading and try to decipher what's going on in the world.

Here's a cool rag with industry info on what was going on as of a few months ago: http://www.ics.com/sites/default/files/Automotive-Megatrends-Magazine-Q1-2015-Website.pdf

Google "gm 1 billion" and see that GM is spending $1billion to renovate old buildings and hire 2,600 people for what looks to be a "connected car" tech center.

Wow.

BTW, trying to make a living doing retail app sales really sucks (without somehow screwing people over, which sucks inherently), compared to the better of my previous job experiences. Opportunities for contract work in this area look to be ripe and I will very seriously be considering this. Might even be a good idea to open source and give away any app I create and look to the corporations again for pay...

Recent words say most cars will be "connected cars" by 2020, and almost all by 2025.

Android M to be talked about at Google IO is rumored to have Android Auto baked in, which may play a role in the next step of AA, which is to get actual Android running the infotainment systems.

I'm excited because I'm truly believing that "connected cars" is the new big thing and next major extension of "mobile".

Big companies will be fighting over who controls the data and software, etc, etc,...


And apparently, GENIVI is a consortium that is open sourcing code for all this, and it's based on Linux, not Android. Auto OEMs (and almost everybody except Google) want to ensure they aren't tied into one companies ecosystem.

More info in next post.
 
Last edited:
  • Like
Reactions: brainscollector

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,823
4,146
Ottawa/Gatineau, Canada
Only $10,000 for the most basic membership in GENIVI... Anybody got 10g's to spare ? ;)

http://www.prnewswire.com/news-rele...provide-android-auto-interface-300015338.html

The GENIVI® Alliance will deliver an open interface to Android Auto to further enable automakers with open solutions for their infotainment products.

GENIVI's open source middleware will be extended to provide support for Android Auto integration, including functions for authentication, audio, video, touch screen input and microphone interaction.
...

GENIVI will fund the development and will release the code for the interface with an open source license, hosted at http://projects.genivi.org.

Deployment of Android Auto will require a licensing arrangement with Google.

Hmmm,...

So the software will be open source... What sort of license ?

Will we be able to access the code without paying $10k ?

And does the "licensing arrangement with Google" for "deployment" somehow attach to the source code ?

How will Google enforce this, besides refusing to host "offending" code on Google Play ?

Google plays the "we hate patents" game, so unless they change that, they can't use patents to enforce.

If onerous conditions attach to what couldn't really be called "open source" in spirit, then reverse engineered implementations could provide an alternative.

Lot's to "chew on"... :)
 

mikereidis

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

I'm fighting libusb crashes and openssl issues and ALL the hazards of modern development.

WooHoo, got the crashes fixed ! :) Was only happening with fast touch movements.

Now I can move my finger REALLY fast on GMaps for extended periods with no crash.

Maybe 5-7 days and I'll have another APK that will run on more devices, without root, and without a shim library on the AA phone.

And I'm starting to think I should attempt making it work standalone, with just 1 phone or tablet.
 
  • Like
Reactions: adfurgerson

ilarrain

Senior Member
Dec 13, 2010
154
133
Nexus 9 and original Nexus 7 2012 are working fine.

Nexus 7 2013 and Xperia Z2 tablet w/ CM12 are not working, and same for several phones I tried.

It looks as if the Android Java USB Host mode APIs are not working on as many devices as I had hoped/assumed they would work on. :(

Maybe low level root access will work on more. There's a LOT of confusing/contradicting information out there about specific devices like N7 2013. A device might work with USB OTG to a USB drive, but that doesn't mean USB host mode will work for specific devices such as a phone running AA.

Chainfire's USB Host Diagnostics has temporarily (until next flash) fixed usb host mode for me on my cm12 lg g-pad 8.3. If I remember correctly, the problem relies on /system/etc/permissions. At least on my device.
 

ilarrain

Senior Member
Dec 13, 2010
154
133
  • Like
Reactions: mikereidis

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,823
4,146
Ottawa/Gatineau, Canada
By the way, keep up with the work. Of course most of us prefer if you release it open source, but it's your work and choice. I would gladly donate if it is (and probably buy if it's not).

Sorry for the off-topic.

Also, I think this could be a good choice to avoid tablet problems:
http://www.aliexpress.com/store/pro...I-The-official-start/1553371_32245918870.html
+
http://www.aliexpress.com/store/pro...Raspberry-Pi-Car-GPS/1553371_32315435767.html

Of course, not very mainstream.

No, not mainstream.

But if somebody can use those kits/parts to build a device running Android, with the standard APIs for USB, touch-screen, etc., then my app should work on it.

There are many sellers of USD $200+ Chinese head units running Android 4.2 or higher and I think those could be more popular choices: http://www.ebay.com/sch/i.html?_fro...&_nkw=android+head+unit&_pgn=3&_skc=100&rt=nc

And many XDA threads on these head units with many hundreds of posts here on XDA: http://xdaforums.com/android/general


With the right parts though, some tablets will be very nice. Running this app on 8-10+ inch tablets looks much more appealing than a 7- inch double DIN like the NEX-4100.

I'm not even sure yet if AA supports better than 800x640. I tried the 2 higher resolutions some time ago, but they didn't work at that point.
 
  • Like
Reactions: ilarrain

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,823
4,146
Ottawa/Gatineau, Canada
Name this Head unit app... :)

This Head unit app needs a name.

I thought I might release the no-root version 2 tonight, but while it runs virtually perfectly on some devices, it has startup or running problems on several others. That's Android's diversity... So a few more days at least.

My first thought is to go with a simple, generic name, as I think these are less likely to be challenged by some mega-corporation.

I'll put a poll on this thread when I'm ready, and I'm happy to hear any thoughts.

So here are my first ideas:

- Head
- Head 1
- HeadUnit

Boring ?

Latest relevant buzz words seem to be "ConnectedCar" "IVI In Vehicle Infotainment" and something from those words could "pizazz" it up.

There there's the question of where this app might be going. Sensor interfaces will become more important I think, once the basics are done.

Sensors Connected Car Android Auto Head Unit One In Vehicle Infotainment Internet of Things... LOL.
 
  • Like
Reactions: dankoman

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,823
4,146
Ottawa/Gatineau, Canada
Chainfire's USB Host Diagnostics has temporarily (until next flash) fixed usb host mode for me on my cm12 lg g-pad 8.3. If I remember correctly, the problem relies on /system/etc/permissions. At least on my device.

Thanks, I didn't realize it can fix some problems.

I tried it for testing and the results were inconsistent about things like whether or not the kernel supported USB host mode, vs Java apps, etc.

It's over 2 years old now, and for a root app, and ALL the changes with SELinux and Android 5+, it's results are expectedly incorrect in many cases.

My own root apps needed a LOT of work for Android Lollipop.


I've found that some devices, like Nexus 7 2013, can work, but they will need to be rooted. This seems surprising when there is a no root API and it's a Nexus...; maybe I'm wrong though and I'd be happy if so.
 
  • Like
Reactions: dankoman

Mugga

Senior Member
Jun 14, 2010
100
27
I'm reading this thread for quite a while and really can't wait to test it out. I've gone trough several car installations and at the moment I'm just mirroring my phone screen via miracast. To use android auto would be really great!

Here a few vids of my different approaches:
https://www.youtube.com/watch?v=HmHhlkPy6zE
https://www.youtube.com/watch?v=J9YgC8Zmyn0

I will definitely try your app and also going to buy it once you release a version. Keep up the good work :good:
 
  • Like
Reactions: mikereidis

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,823
4,146
Ottawa/Gatineau, Canada
Release #2 of my tentatively named "Aahead" 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 my Aahead 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...


The app now works without root or system hacking on both the Headunit/Tablet side (that runs this app) as well as the Phone/Device side (which runs the Google Android Auto companion app),

App requires Android 4.0 ICS or higher, but I've mostly tested on Android 4.4 KK, 5.0 and 5.1 Lollipop. Seemed to work (with some video issues) on Xperia P with stock 4.1 however.

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 6.2" 800x640 Pioneer 4100-NEX screen, despite that the video is still only 800x640 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 my "Aahead" 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 my Aahead HU app. 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.

Release 2 APK of my Aahead app is attached to this post.

Enjoy responsibly. :)
 

Attachments

  • h15-release.apk
    937 KB · Views: 6,063
Last edited:

neyon

Member
Apr 8, 2012
21
5
Rotselaar
Great news

That's great news!

When I am home tonight, I will test with my phone (xperia SP cm12.1) with Xperia tablet z (4.4 stock).
I hope that it will works, you are already great developer!

Now tested:
I have problem with connection, My phone charging icon and led notification is flickering.
Like connection start, stop, start, stop,...
Then I tested my phone as headunit, connection is fine, I start your app and I receive notification usb and accepted, all went OK but tablet is still on 4.4 so can't test it (lollipop is released in usa, soon in europe)
Can logcat maybe useful for you?
 
Last edited:

luci84tm

Member
Apr 16, 2011
38
5
Timisoara
I just tried several times using your app on my nexus 7 2013 stock rom and an old HTC Evo 3D running cm12.1, but unfortunately Google Play Services are crashing on the last one, even if it seams there is a connection.
Anyhow I don't think your app is causing the crash, I guess the custom rom on my old htc is not very stable..
Unfortunately I don't have any other phone running lollipop to test with.
Great work!! ?I'm looking forward to your development here, maybe sometime later my setup will work too, after some ROM. updates.
A dumb question: do you think an similar app could be developed for debian, My idea would be to replace head unit with a raspberry pi? ?
Or AA requires an Android host system to mirror?
 

tt40

Member
Apr 9, 2015
15
0
Tried it on my HuiFei headunit and it did not work. I get a black screen. When I try to back out of it it says the application has stopped.

I have a KGL model with RK3066 CPU and 1024x600 screen. Android 4.4.4

---------- Post added at 05:19 PM ---------- Previous post was at 05:10 PM ----------

This Head unit app needs a name..

AndroHead? :)
If you ever TM it, please give me a small royalty for the name .. ;)
 

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,823
4,146
Ottawa/Gatineau, Canada
That's great news!

When I am home tonight, I will test with my phone (xperia SP cm12.1) with Xperia tablet z (4.4 stock).
I hope that it will works, you are already great developer!

Now tested:
I have problem with connection, My phone charging icon and led notification is flickering.
Like connection start, stop, start, stop,...
Then I tested my phone as headunit, connection is fine, I start your app and I receive notification usb and accepted, all went OK but tablet is still on 4.4 so can't test it (lollipop is released in usa, soon in europe)
Can logcat maybe useful for you?

Thanks for trying. :)

No logcat won't help at this time. There is plenty of testing and fixing I can do with my own devices first.

Your symptoms seem to indicate USB connection issues.

I'll presume you connected the devices with a powered USB hub, with the Headunit app on the "computer" side and the mobile AA device as the only device on the "phone" etc. side.
 

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,823
4,146
Ottawa/Gatineau, Canada
I just tried several times using your app on my nexus 7 2013 stock rom and an old HTC Evo 3D running cm12.1, but unfortunately Google Play Services are crashing on the last one, even if it seams there is a connection.
Anyhow I don't think your app is causing the crash, I guess the custom rom on my old htc is not very stable..
Unfortunately I don't have any other phone running lollipop to test with.
Great work!! ?I'm looking forward to your development here, maybe sometime later my setup will work too, after some ROM. updates.

If they are both running Lollipop, then switch them around. Make sure the AA app is on the Nexus 7 and put it on the output side of the powered USB hub. Then run my app on the Evo 3d. My app can run on 4.1 and maybe 4.0, so if you have any devices on 4.0-4.4 you can try them too.

Yes, older devices running custom ROMs are much less likely to work with Android Auto.


A dumb question: do you think an similar app could be developed for debian, My idea would be to replace head unit with a raspberry pi? ?
Or AA requires an Android host system to mirror?

There are NO dumb questions. :)

This release #2 has most of the logic written in C. I can use the same code to test from the command line on my Linux development PC. There is no video or touch, but these things might possibly be added in future. The H264 video CAN be recorded to a file though; I'm not sure if VLC or anything similar could be easily hooked up.

It is definitely easier to build a Headunit app on Android, because the other side is Android and uses Android key encodings and other Android-isms.

It is definitely possible to do this on plain non-Android Linux, assuming there is a graphics API or better yet an H.264 API, as well as a touch API, or similar for a mouse for testing. But it would be a LOT of work and I have no immediate plans for this.

GENIVI has claimed they will release free source code for Android Auto on Linux, I'm guessing based on QT for the GENIVI reference platforms. GENIVI is a consortium for the automakers and HU OEMs who want to avoid being cornered into Android and prefer Linux based.

My intention is to target what most people will want, and what they would be happy to buy in an app to support my full time work on this.

The most obvious general desire is for a standalone implementation, that works with one device instead of 2 devices USB connected.
 
Last edited:
  • Like
Reactions: adfurgerson
Status
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 12
    Release #2 of my tentatively named "Aahead" 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 my Aahead 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...


    The app now works without root or system hacking on both the Headunit/Tablet side (that runs this app) as well as the Phone/Device side (which runs the Google Android Auto companion app),

    App requires Android 4.0 ICS or higher, but I've mostly tested on Android 4.4 KK, 5.0 and 5.1 Lollipop. Seemed to work (with some video issues) on Xperia P with stock 4.1 however.

    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 6.2" 800x640 Pioneer 4100-NEX screen, despite that the video is still only 800x640 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 my "Aahead" 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 my Aahead HU app. 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.

    Release 2 APK of my Aahead app is attached to this post.

    Enjoy responsibly. :)
    3
    You figured out Sensor Service response and channel ?

    I presume you'll be releasing an app at some point ?

    If you mean an android app, than no.
    At the moment it is more like creating an unofficial AOA documentation.
    Long term it would be nice to create a OpenSource AOA implementation for headunits.

    Edit: Yeah I am receiving the VideoStream on my PC, but how to playback it, hm.
    2
    Rather than using smali/baksmali - perhaps try AndroGuard's decompile or jd-gui?
    2
    Just a small pointer for you guys since I don't have the time to fiddle with it at the moment:

    1. download the NEX4100 head unit update and unpack it
    2. Code:
      dd if=PJ150PLT.PRG of=PJ150PLT.img bs=512 skip=1
    3. Code:
      mount -o loop PJ150PLT.img test/
    4. dissect the the android system that is running on the head unit, take a close look at AAPPlayer and all the libaap*.so files
    5. profit