Android uses a special virtual machine, the Dalvik VM and uses its own set of the standard Java libraries. This creates some pitfalls and limitations.
On most platforms db4o can optimize native queries at runtime. For this it analyses the byte-code of the query. Since Android uses a different bytecode for the Dalvik VM, this optimization doesn't work. However you can do the same optimization at built-time. See "Native Queries"
The BitMath is slightly different implemented on Android. Therefore it doesn't work out of the box with db4o. But when you add the Big-Math support, it will work just fine. Add the BigMath-support to the configuration. See "BigMath"
EmbeddedConfiguration configuration = Db4oEmbedded.newConfiguration();
configuration.common().add(new BigMathSupport());
Android doesn't provide the Java monitoring and instrumenting facilities. Therefore db4o's support for monitoring doesn't work as well.
Currently the automated tests for db4o run against the Android version 2.1. db4o should run also on older Androids versions.
Since the Dalvik VM doesn't use regular Java bytecode and class-files and therefore uses different a different class-loader strategy, we don't test features of db4o which utilize this features. However this is only relevant for advanced db4o features which need those functionality.