yashsingh1/xdaforums huggingface dataset:
[Android General] Area51©:
Public release

Since it is working for quite some people already (and I am getting tired of sending everybody a link in pm) I have decided to make this pre-beta release available to everybody.

You can download it from here:

arunchained0.10.apk

Just to be complete the release notes once again:

Root access is required so your phone must be rooted.

For now it only allows using the touch screen.

Only single touch is supported.

Keys from the radio don't work yet.

GPS from the radio doesn't work yet.

Steering wheel controls don't work yet.

Users have reported it working on AppRadio 2, AppRadio 3 and AVIC-F950.

Disclaimer: Use at your own risk. Basically if it damages anything (you / your phone / your radio / your car or whatever), don't blame me.

---------- Post added at 11:20 AM ---------- Previous post was at 10:57 AM ----------

Is there someone who wants to go through all posts and compile a list of which headunits, phones (with used kernel / Android build) are reported working or not working? And after that also keep it updated. It will allow any potential new user to quickly see if their equipment is supported or not.

Thanks in advance.
[Android General] brainiak4431:
Testing

Went out to my car to test AR Unchained on the AppRadio 2 using Galaxy SIII running Devils Reject v5 and stock AT&T unsecure kernel. I cancelled out of ARLiberator just to make sure there were no conflicts. Connected fine. Here is what I noticed and perhaps some suggestions.

When I open the app, it opens fine and then loads the pioneer app opens up. Calibration went well. Touch events were fine.

I had a glitchy issue with the pioneer app in that swiping the screen to see more apps wasn't that responsive.

I opened the default Nav/Maps app in the Pioneer app, it apparently loaded google maps but no map or location was present. I think this issue was already discussed and might have to do with GPS location implemented yet?

The contacts app in the pioneer app was very glitchy as when a call was being made through it, the screen rotated back to vertical for the duration of the call. After the call was hung up, it went back to landscape. I haven't tried calling through the default phone dialer on my Galaxy SIII by exiting out of the pioneer app.

I noticed the connection was very stable, unlike some of the issues I had been having with arliberator. The bluetooth was sometimes a little slower to connect however.

It would be nice if there was a way to have ARUnchained just load the pioneer app in the background or something so that it could just go to the home screen.

Other than that, this is great work and has a lot of potential.
[Android General] Area51©:
Were you not able to go to the home screen? This is the whole purpose of the hack. As you only describe the Pioneer apps it seems it was not possible to do that. I underststand that Samsung has hardware buttons and won't show soft buttons on the screen. This won't matter once I implement the radio buttons to inject on system level. From reports I read that Samsung users use an app called button saviour to display Home/Back/RecentlyUsedApps buttons on the screen as a temporary workaround. This allows you to go to the home screen and use any app.
[Android General] brainiak4431:
Well I was able to go to the home screen after the pioneer app opened. I just pressed the radio's back button which prompted to close the app and I selected yes. At this point the home screen was accessible. I am just saying that perhaps it will be more convenient to open directly to the home screen if that is possible.
[Android General] Area51©:
Ok. Actually that's how it works on my phone. Before connecting, you just see the small AppRadio icon in the status bar. Once connected, it shows the home screen right away. In your case it seems the pioneer app opens upon connection. I don't know what triggers that but I can look into that later some time.
[Android General] Cooter75:
Just want to say thanks for all your hard work. I know it has got to be difficult with your day job and everything else going on. I see you still reply back to everyone and are on top of it all. No easy feat!

You talked about taking a little break. Do it! Don't want you burning out on this stuff. Let the testers keep testing and find yourself some R&R time.

Looks like this project will be a home run with the continued support of the community here. Thanks to all on that one too!
[Android General] brainiak4431:
Tested it again today. This time it worked fine. I think the app was popping up to do the calibration the first time. Now I can just stay exited out of the app and the home screen automatically shows up.

Also, I reverifed the glitchy issue when trying to swipe the screen. Maybe it has to do with the multitouch capabilities.
[Android General] Area51©:
Ok guys, I made a new thread so I can keep an overview and the status of the project in the first post.

It's available here:

[MOD] AppRadio Unchained - Full mirorring for Pioneer AppRadio 2 and 3

Please continue there with reports, remarks and other useful stuff.
[Android General] cslee_work:
Any chance I can try too. I have AR2 and Motorola Razr Maxx.
[Android General] lpasq:
http://xdaforums.com/showthread.php?t=2451980
[Android General] tnuts22222:
Receipt number:

5494-6409-9972-4334

Tnuts22

Sorry it took so long to get my donation in
[Android General] jj223:
appradio 3 with nexus 5 using appradio unchained need help!!!!

I recently bought the appradio 3 and use my nexus 5. I downloaded the aru and can't seem to get the unit to connect to the aru. I have a slimport already and really would appreciate anyone's help
[Android General] leobg:
http://xdaforums.com/showthread.php?t=2451980

[MOD] AppRadio Unchained - Full mirorring for Pioneer AppRadio 2 and 3

Happy reading. Hint - you should be just fine with the nexus 5 you got.
[Android General] jj223:
Thanks so I got aru to work the only problem now is from time to time the screen will freeze go black or show snow. Also its pretty hard to touch icons on the appradio unit because it opens a different icon. Any help fixing that problem will be greatly appreciated too!
[Android General] Naddict:
Old thread... Not updated... OP... If you need this reopened, let me know
[Android General] Gelroos:
I'm in

Put me down for $150
[Android General] MKVFTW:
Wow we are doing good guys! Hopefully the decent amount will get someones attention. If anyone knows of a developer that could help with this, please forward this thread to them!
[Android General] outcastrc:
Awesome!!! A dev could buy himself a deck and still have decent pocket change for their troubles...

Via the Nexus
[Android General] amblix:
put me down for $100
[Android General] TLS2000:
lol.. the bounty is getting high enough that I'm actually looking at the appradio.apk source code right now. Looks like it only needs a minor change or two to make it stop checking to make sure you're using one of their approved apps. My skills are very rusty so don't take this as a promise or even a hope that I'll be able to do anything with it.
[Android General] Software Guy:
Put me in for $50. I love the appradio 2 in my trans am, it just needs a bit more work.
[Android General] aguila88psi:
Making the app from constantly checking would be a major plus! Its annoying, lol.
[Android General] shaxs:
I hope some traction happens soon. I'm getting ready to build my car solution and would love this as an option.
[Android General] xavenged:
Im going to have to lower my donation to $50 as I will no longer be keeping the appradio 2. I am getting a different head but am still willing to donate $50 to the cause! Sorry guys.
[Android General] TLS2000:
Gotta say, with all the bugs that this radio seems to have I may end up returning it.
[Android General] amblix:
what I'm finding is the more tweaks a rom is capable of the worse the radio acts. I went from AOKP on a GN and the appradio ran very buggy....BSOD...etc...flashed to stock and have yet to have any issues. Getting a GS3 and will test ASAP

As for the app, I saw an interview regarding the process...apparently Pioneer has a "small blip of code" for developers to insert into their app to allow touchscreen control. This is purposely done for safety.

If we can get that code...walla...

I'm actually going to write them and ask for it because I'm looking to make home automation app, appradio compatible.
[Android General] dgf2002:
the term is voila, a pet peeve of mine. but I digress.

I want this possibility.. but as a non developer, I ain't got the no how. So frustrating as an Android prefer-er. I hope you smart guys make it happen. $$ forthcoming if I buy one of these, though I am leaning towards getting another Kenwood Excelon kdc-x896, one of few reasonably expensive Android deck lines out there. And use HP Touchpad with cm9 for Nav and computer.
[Android General] aguila88psi:
I'm gonna be getting an sgs3 myself, heard the mhl pin outs are different so we'll need to get a different MHL/HDMI adapter.
[Android General] TLS2000:
Ya I've been thinking about dropping back to stock to see if the minor blue tooth issue I have will go away.
[Android General] nickgrill:
is it possible to to make it so that while on a phone call the phone screen can be closed and still talk to the caller through the radio? the navigation is almost useless to me because i talk on the phone a lot in the car and i can not see the map screens if i am on a call. i will donate for this feature.
[Android General] TLS2000:
Dropping back to stock for this was a mistake. All of the apps for the Appradio are in Japanese now.
[Android General] outcastrc:
Just the appradio apps and nothing else? :confused:

It sounds like when you first start the appradio app and select country is wrong?
[Android General] TLS2000:
All of the AppRadio apps by Pioneer. It didn't even give me the option of choosing the country I'm in.

On a side note, it fixed my blue tooth connection issues.
[Android General] outcastrc:
Have you tried to uninstall the appradio main app and then re-install?
[Android General] TLS2000:
Yup. Seems to have been an issue with the OS. I upgraded back to ICS and it works fine now. I'm also running the gb radio to test if my blue tooth issues will go away.
[Android General] Stickboy46:
Do we have anyone actively working on this?
[Android General] Dblfstr:
Too complicated for me. I have decompiled the apk and looked through the source. Way above my pay grade, even for $975.00.
[Android General] outcastrc:
Had a thought...

So we know that Google maps works with the deck. The question I pose is why?

I don't believe that Pioneer forced Google to insert code into maps just to make it work with our decks. Its more likely Pioneer just allowed Maps to work in the app itself. There may be 2 different options of app approval going on in the app, if true maybe someone could take advantage of that?

Not saying its true or not, just an idea...

On a different note:

Over on Avic411, sharkdiver offered an Appradio2 deck for 250 shipped to a dev willing to take on this project.

http://avic411.com/index.php?/topic/34300-android-full-control/
[Android General] Dblfstr:
It looks as if all applicable apps have there own set of code (many many files).
[Android General] naboleo:
Bougth a SPH-DA100 as I had a very goog opportunity.

It's not related to APK, but notice that the 8.15 firmware update binary file seems to be somehow containing, with hexa editor, from 47:E680h to 48:0208, several reverted chartset alpha+num
[Android General] lufc:
Questions or Problems Should Not Be Posted in the Development Forum

Please Post in the Correct Forums & Read the Forum Rules

Thanks ✟

Moving to General
[Android General] aguila88psi:
I wonder if the galaxay s3 wireless HDMI all share work with the appradio? The adapter works very similar to an HDMI adapter but the galaxy s3 is able to transmit the information wirelessly.
[Android General] naboleo:
Are you really thinking it could work wirelessly ? Just keep in mind, that without WIFI, it would be a miracle....
[Android General] aguila88psi:
Yeah, I think it works like a portable hot spot transmitting video and sound, I'm almost willing to try it but I would hate to fork over $100 for the adaptor if it doesn't work.
[Android General] naboleo:
Pioneer devices don't have WIFI but only physical HDMI port (for SPH-DA100 device at least). So your S3 will be able to transmit A&V but nothing will be able to receive it. That would also assume that the SAMSUNG "all share software" (whitch is compatible with DLNA) is installed on the Pioneer device... I can't imagine that samsung and Pioneer will share this, and if as I supposed SPH-DA100 is a WIN CE device (like SPH-DA01), DLNA isn't available in this platform...
[Android General] aguila88psi:
The adapter receives the wifi signal from the sgs3 then sends it through an HDMI port. So the pioneer head unit will see the HDMI input and not need to see the wireless output from the sgs3.

Supposedly the allshare cast dongle is compatible with any HDMI TV, guess I'm gonna just have to try it out.
[Android General] quadmasta:
I started poking around in the smali/decompiled code and I think I've found a vulnerability. There's some code in jp.pioneer.mbg.appradio.recommend.d that looks like it was there for debugging purposes that retrieves an XML feed from a server to display the recommended app list.

I'm new to all of this .smali/obfuscated stuff and I can't figure out where this method's called from either. I'm willing to help chip in with programming/helping set up a knowledge base for this effort.

I just got my SPH-DA100 last week and am waiting on my MHL cable right now. I'll probably want to hack more once I can interact with my phone more :)
[Android General] naboleo:
Changing the XML file content is just one part of the hack. I did it since days on mine, and it allows to add apps on compatible apps tab. But it does not allow to run apps from the pioneer screen. In fact new apps don't appears so it meams info is stored somewhere else.

Obviously you need root.. But to add apps just edit both XML in /data/data/jp.pioneer.mdg.appradio.AppRadioLauncher/files_recommended/ and add similar XML bloc :

<App>
<PackageName>net.dinglisch.android.tasker</PackageName>
<AppName>Tasker</AppName>
<AppNameJP>Tasker</AppNameJP>
<icons>/icon/Tasker.png</icons>
<Category>Transportation</Category>
<CategoryJP>交通</CategoryJP>
<MarketURL>https://play.google.com/store/apps/details?id=com.waze</MarketURL>
<Country>AT, BA, BE, BG, BY, CA, CH, CY, CZ, DE, DK, DZ, EE, ES, FI, FR, GB, GR, HR, HU, IE, IT, LT, LU, LV, MA, MT, NL, NO, PL, PT, RO, RS, RU, SE, SI, SK, TR, UA, US</Country>
<LauncherInvalidModel></LauncherInvalidModel>
<AppMode>AdvancedAppMode</AppMode>
<MarketAppName>Tasker</MarketAppName>
<MarketAppNameJP>Tasker</MarketAppNameJP>
<Featured>True</Featured>
<DrivingResistant>False</DrivingResistant>
<UpdateDate>2012-05-08</UpdateDate>
</App>
</Apps>

Here is what it looks like.
[Android General] naboleo:
Another insteresting info, firmware 8.15 isn't signed. Edited mine and change version number to 8.14 (file and first bits), and not only it seems to allows downgrade, but it also flash flawless. But at the end, device remains on 8.15
[Android General] amdhunter:
I bought one a few days ago and I hate it to death. It's probably the single worst car radio I've ever used in the history of mankind. That said, I just like the way it looks in my RX-8 so I'll keep it. I cannot stand the GUI's of every other double-din on the market. Do these manufacturers all think that their customers are boys going through puberty or something?

Please someone fix this stupid thing. :)
[Android General] BIGSIKE3:
Pioneers response

I spoke with Pioneer today and I can assure you they are not on top of this. They had no info on any update nor a time frame for which one will be given. To say they could care less is an understatement, I'm just praying any of you devs can come to our rescue :)
[Android General] outcastrc:
Soon as I hear gsm yakju are getting officially upgraded by Google ill be making a call and sending out some emails to pioneer....

Just one good Dev is all we need
[Android General] MKVFTW:
Well it looks like i am getting rid of my Appradio 2. With a decent bounty and no developer interest i have given up hope of this thing working "properly". Does someone want to take over the bounty??
[Android General] naboleo:
The guy should be developer AND have reverse engineering skills AND own a AppRadio 2... That's rather limited people. Bounty is just secondary criteria
[Android General] d4m45cuz:
I purchased an AppRadio 2 last week. I have decompiled the pioneer android App and believe I found something. Here's the logic:

Firstly, it should be recognized that the whole app radio app actually consists of two main pieces: A service which runs in the background and a "Launcher" type application. The service translates touch events from the app radio 2 to the android device.

When someone touches a part of the screen that Pioneer has decided we are not allowed to touch, an error is thrown. This is due to a try-catch bit of code included in the service part of the whole app package. I am going to attempt to forward touch events regardless of any error thrown by the app denoting a Pioneer boundary and see what happens.

I am not promising success, but if nothing else, this gives any interested developers a little bit of a head start. I'll see if I can't report something tomorrow.
[Android General] naboleo:
That's the conclusion is found also. HDMI is dedicated to audio and video, whereas bluetooth is related to phone and touchscreen redirection.

I also noticed that supported apps have specific android permission : pioneer. permission.appradio.ADVANCED_MODE

There is an exception, GoogleMap don't have it but the xml mentioned above is containing some codes for it... That may be a way to bypass AppRadio check
[Android General] uribees:
Thanks for keeping at this guys. All of us here on XDA and AVIC411 appreciate all the work that is going in to making this deck work! :good:
[Android General] d4m45cuz:
I think the pioneer maps app is an in-house designed app using the google api.
[Android General] Appradio2Fan:
what if one were able to obtain the SDK? Would it be possible to decompile apps and add code to the apps we want to use?

I'm no developer but I have some friends over at Pioneer Audio
[Android General] Cuppeerr:
I need this lol
[Android General] naboleo:
SDK won't help to decompile apk directly but it would definitely help to understand better how the app works!!
[Android General] d4m45cuz:
Okay, so I managed to use this information to decompile the Pandora app and insert the relevant permissions into the AndroidManifest.xml file. Low and behold, Pandora now appears on my AppRadio Launcher :victory:. Now the next problem: touch screen inputs are still not translated :crying:. The arrow pointing to the red X displays. No log outputs. So the search continues... One step closer nonetheless.
[Android General] naboleo:
That's definitely a good step!

I couldn't verify by myself as I had an hardware issue with my laptop 2 days ago and need to buy a new one.

My first opinion is that apps should provide some basics functions/checks to redirect the touch screen inputs. That probably the worst case as it definitely force every non trusted apps to be modded. Another approach is to change internal checks within AppRadio to redirect inputs whenever the app running. I finally can't verify but I think AppRadio is checking what is the foreground task to display or not the red cross. From what I tested few days ago, acting with a non trusted app directly from the phone allows to have it displayed onto the sph–da100
[Android General] TLS2000:
Nice progress! Looks like there's just one more step left to make this work. Hopefully we find a way of making it work with any app without having to recompile it.
[Android General] outcastrc:
Could you try an app that appradio has never seen before? I'd be curious if that line of code could be added to any app and have it show up or if it was only because it already knew about Pandora. Were you able to load the app from the launcher, or was it just displaying?

Great job guys, keep at it! We can have a functional deck yet!
[Android General] d4m45cuz:
It is any app. Pandora itself was never registered with the Pioneer Launcher due to its alternative integration strategy (Pandora Bluetooth for Automotive), which is part of the reason why it stops playing if you switch to advanced app mode. Pandora was loadable from the Launcher and showed up as a second waze icon titled "Pandora" (I was too lazy to paste in a Pandora icon), but would then not receive any touch input. I dug a little further last night and found that apps that have garnered approval from Pioneer do in fact have whole classes worth of code in them devoted to pushing touch screen events from their foreground window presence back to the appradio service. I was afraid of this.

In short: So we can now add apps to the recommended apps section AND to the launcher screen itself, but we still can't forward touch requests from these apps.
[Android General] naboleo:
Can we imagine a layer service interacting with AppRadio to provide feedback regarding touch event but also emulating touch screen on the phone side? I'm not sure Android is allowing fake touchscreen events due to security concerns but that would probably be the only way to have all apps enabled
[Android General] outcastrc:
But isn't it possible for Android to run remote touchscreens? What I think we need to be looking for us to eventually bypass the Appradio app altogether. It's the service itself that needs to be hacked to allow all touch inputs to register in Android.... In a perfect world anyways.
[Android General] naboleo:
Having directly a remote touchscreen feature is much more difficult as the other part of the service should run onto the pioneer device (regarding sph–da01, it's even probably not a Android device itself, in the better case it's Win CE).

Actually half of the job is done as we can consider that touchscreen events are somehow translated to our phones.
[Android General] amdhunter:
Put me down for $25 to make it an even grand. :)

Are we pooling the money together now, or is it an honor system?
[Android General] mowine:
I'll throw in $25 but we need to get the funds collected on Kickstarter

Hey Gang,

I'll throw in $25 as well, but we need to collect the funds so that the incentive is organized. I vote to use Kickstarter.com (or equivalent) to start collecting, so that we all have moneys in hand to show how serious we are.

-Mo
[Android General] ArthurJGuy:
I'd be willing to kick in $50-$100 but ONLY for full android control. I'm not interested in seeing android apps pop up on the AppRadio menu.

I'd want something like this.

http://www.youtube.com/watch?feature=player_embedded&v=6GC5mep53hY