I am writing an Android application which leverages the Microsoft Azure cloud for
- Page blobs (Blob service)
- Relational Database tables (SQL Azure)
- Queues
Everything looked great, however I've hit a pretty solid looking technical brick wall which may prevent our use of AZURE; namely, The Microsoft Java Azure SDK use of JAXB.
- JAXB not provided by Android (and is very large if you want to bundle it)
- The Dalvik VM is not capable of executing the reflective calls in JAXB
- Cannot be compiled into dex as JAXB uses javax package structure, working around with --core-library almost certainly guarantees failure further down the line.
Other Azure Java SDK maven dependencies which also define classes in the protected javax package structure:
- javax.xml.bind jaxb-api
- javax.inject javax.inject
- com.sun.jersey jersey-core
- stax stax-api
- javax.activation activation
- javax.mail mail
It seems to me that effectively this prevents the use of Azure services to back an Android application (for me) as writing my own android friendly API for interrogating Azure is beyond the scope of this project.
Has anyone had experience with consuming Azure services on Android through some other mechanism?