This is the FAQ for the Android forum
. It's editable by everyone, so feel free to add content to it.
- What Java API is supported by Android? How does it differ from JME?
- Where can I get an SDK? What platforms does it support?
- The latest version of the SDK is r21 (for Android versions up to 4.2), and it's available for Windows, OS X and Linux here.
- Do I need to buy hardware if I want to start writing applications that run on Android?
- You can start writing applications even if you donít have hardware to run them on. The Android SDK comes with an emulator and all tools necessary for application development and deployment.
- Another option is the freely available Motodev Studio for Android IDE from Motorola.
- Which hardware devices support Android? Here's an incomplete list:
- T-Mobile G1 (a.k.a. HTC Dream), myTouch 3G, myTouch 4G, Comet (a.k.a. Huawei Ideos)
- HTC Magic, Hero, Tattoo, Droid Eris, Legend, Desire, Evo 4G, Wildfire, Incredible, Aria, Evo 4G, Gratia, Flyer, ChaCha and Salsa, Desire S, Wildfire S and Incredible S, Sensation, Wildfire S, Rezound, Sensation XE
- Motorola Dext, Droid / Milestone, Backflip, Motoroi, Cliq / Quench, Cliq 2, Devour, Flipout, XT720, Droid 2, Droid X, Charm, Defy, Defy+, Droid Pro, Droid 2 Global, Droid Bionic, XOOM, Atrix 4G, Droid X2, Droid 3, XOOM 2
- Sony Ericsson Xperia X10, Xperia X10 mini, Xperia arc, Xperia Play, Xperia Pro and Xperia Neo
- Google Nexus One (only available to Android developers by now), Nexus S
- LG In TouchMax GW620, Optimus, Optimus 3D, G-Slate tablet
- Samsung Galaxy i7500, Galaxy Portal i5700, Captivate / Galaxy S, Vibrate, Galaxy S i9000, Galaxy Tab, Galaxy I9003 SL, Vibrant 4G, Galaxy Indulge, Galaxy Tab 10.1, Galaxy S II, Xcover, Galaxy S II Skyrocket, Captivate Glide, Galaxy Note
- Garmin-Asus A50
- Acer Stream, Iconia Smart, A 200
- ZTE Skate
- Huawei IDEOS X3 and S7 Slim
- Dell Streak
- Archos 28, 32, 43, 70 and 101, Q9
- Asus Transformer Prime
- Handset NEWS (and rumors) at AndroidGuys
- extensive list at TechCrunch?
- What is Dalvik? How is it different from JVM?
- Dalvik is a register based virtual machine optimized to run on a slow CPU,with relatively little RAM and on an OS without swap space. Further Reading
- What are the different Media formats supported on Android?
- Where can I publish my Android applications?
- How can I get insight into how people are using my app?
- I'd like to display ads in my app without having to negotiate it all by myself. What are my options?
- What support does Android or Dalvik VM provide for running native C code?
- In June 2009, Google announced a NDK (Native Development Kit) that gives developers the ability to call into native code from Android applications. There is a Google group for NDK-related discussions. At present, Android supports JNI shared libraries written in C or C++ that link with the Android versions of libc, libm, libz and OpenGL ES 2.0. There are plans to support linking with audio libraries in future.
- How do I get Android source code?
- How can I view PDFs and Office documents?
- Which Android versions are being used out in the field?
- Is Android code compiled to a .class file?
- The Java bytecode of a compiled class is converted into Dalvik executables or (.dex) files, using the "dx" tool bundled with the SDK . The application is packaged into .apk file which are zipped .dex files. The Dalvik virtual machine runs Dalvik executables in the apk file. Details of .dex file format can be found here
- I want to write Android Applications too but dont know where to start?
- Do Android projects have deployment descriptors?
- My Application throws an Exception, where is the Stack Trace dumped?
- Exceptions are written to a log file, named Logcat in the emulator. You can obtain a dump by executing the adb logcat command. To write log messages from your application, use the static methods of JavaDoc:android.util.Log class(Log.v(), Log.d(), Log.i(), etc.). If you are using Eclipse with ADT plugin, you can open "Logcat" view to see the logged messages.
- What functionality of the actual device can the emulator emulate?
- For Emulator How-Tos and limitations, read this
- How can I send email from an Android application?
- How can I use JAXB on Android?
- javax.xml.xpath is not supported; how can I use XPath anyway?
- The jaxen library runs on Android, and works well with DOM objects. Just put its jar file into the "libs" folder of your project, and it'll be packaged along with the other class files. Starting with Android 2.2, javax.xml.xpath is part of the core libraries.
- What options for storing data do I have?