Hitaxas, on 26 July 2014 - 08:15 PM, said:
If only it were that easy!
Basically, no, you won't magically get a PC version. The game would likely be calling into several Android-specific APIs since it's made for Android. That said, a good chunk of the code would probably be independent of the fact that it's running on Android (such as physics), so perhaps with a bit of effort it can be turned into a PC Java game. Not a trivial task, though, since you would need to rip out anything relating to the touchscreen, make sure it uses PC graphics APIs, reimplement key/button input if it doesn't have it already, and probably a bunch of small things that wouldn't be apparent at first.
But as a way to research implementing Sonic physics in a language like Java, it could perhaps be more useful.
On the main topic: Decompilers for Java (as well as .NET) are pretty common. The reason that they exist and work so well is due to the fact that Java apps/games compile down to the same cross-platform bytecode (like machine language except for a Java Virtual Machine), which is a well-understood and well-researched format. It's known how certain patterns of bytecode correspond to Java syntax.
This is why the modding community around, say, Minecraft (probably the most popular Java game right now) is so goddamn huge. It wasn't because the developers made a nice modding API for everyone to use. It's because Java is in an easily decompiled and deconstructed format, so it was relatively simple to reverse-engineer compared to a natively compiled application.

00
