After reading my blog about how to improve the performance of the Android emulator I guess you are using this image successfully for your Cordova development. In case you want to use the Intel image also for SUP/SMP MBO based projects, you won`t be able to do so. The UltraLite library is for ARM architecture and not for 386.
Here is a simple explanation why you’ll have to use the Google Android images (ARM): after adding the libraries to the Android project, coding the MBO part, deploying the app to the emulator and running it, the log shows an error message like:
FATAL EXCEPTION: mainjava.lang.ExceptionInInitializerError at com.ianywhere.ultralitejni16.DatabaseManager.connect(Unknown Source) at com.sybase.afx.ulj.ConnectionUtil.createConnection(ConnectionUtil.java:199) at com.sybase.afx.ulj.ConnectionUtil.getConnection(ConnectionUtil.java:176) […] Caused by: java.lang.UnsatisfiedLinkError: Couldn't load ultralitej16: findLibrary returned null at java.lang.Runtime.loadLibrary(Runtime.java:365) at java.lang.System.loadLibrary(System.java:535)
Keep in mind that the libraries for the UltraLite database used by MBOs is delivered as a binary library (.so). This library is already compiled and won`t be compiled again for your Android project. This library is for Android devices on ARM, as this is the primary architecture for Android smartphone / tablets is ARM. The folder that contains the files is named armeabi and the .so files make it clear that the library is not a Java object. While the jar for UltraLite included in the Android project allows communicating with the API, the libraries will fail to load on Intel emulator.
On the Intel image, a .so file is for Intel 80386 architecture:
While on the “original” emulator from Google the architecture is ARM:
Running the exact same app on the Google Android image will work. Just install the APK file on the right emulator.