In terms of asset creation there is no real difference between producing for Android or producing for the desktop. Of course, due to the smaller screen sizes/resolutions your graphical assets will be a little smaller on average, apart from that you can use whatever you'd use for a desktop game/app.
I personally use:
- Paint.NET for pixel art (sprites, tiles etc.)
- Gimp for more fancy stuff like logos.
- Wings3D for static 3D modelling.
- Audacity for quick and dirty basic sound effect and music processing.
- Cubase for recording and more elaborate audio work (that one is not free :/)
- bsfxr for creating 8-bit sound effects.
For level creation i usually write my own editor(s) running on the desktop.
If your strength is Java development you should focus on that and find someone else to do the graphics and sounds. You can spend a lifetime learning to create decent graphics ("Learning Java in 24 hours" doesn't work. "Becoming DaVinci in 7 days" is not more probable). Even if you learn the tools (which is a challenge with something as ... interesting as Gimp) you probably will produce "developer style graphics" - enough for the prototype and development, not good enough for production. So in effect a waste of time.
Either you buy ready-made models and graphics, you hire someone to do them for you, you team up with a graphics artist or you try to find "free" (cost and an acceptable license) graphics somewhere (just a random pick: On Turbosquid.com there are a lot of free 3D models, if you need 3D or want to render 2D - THAT is not that hard as creating the whole graphic yourself).
Graphic artist are cheaper than developers. So, easy calculation - would it be a good idea to spend your more valuable work time to learn their job than to buy a service from one without paying for their learning time (well, in small fraction you do, but not completely as you do if you learn yourself)?
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com