I encountered INSTALL_FAILED_NO_MATCHING_ABI error when running Watson Speech Android SDK on Android Studio Emulator (Win10) but works when deployed on actual mobile device.
Device connected: emulator-5554
Device is ready: Nexus_API_21_x86 [emulator-5554]
Target device: Nexus_API_21_x86 [emulator-5554]
Installing APK: D:\DEV\Android\speech-android-sdk\examples\build\outputs\apk\examples-debug.apk
Uploading file to: /data/local/tmp/com.ibm.watson.developer_cloud.android.examples
Installing com.ibm.watson.developer_cloud.android.examples
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.ibm.watson.developer_cloud.android.examples"
pkg: /data/local/tmp/com.ibm.watson.developer_cloud.android.examples
Failure [INSTALL_FAILED_NO_MATCHING_ABIS]
DEVICE SHELL COMMAND: pm uninstall com.ibm.watson.developer_cloud.android.examples
DELETE_FAILED_INTERNAL_ERROR
Is there a way to run it on the emulator? I'm guessing it is because the SDK only provide armeabi but not x86 - but I could not verify this.
As you can see in the jniLibs folder of the speech-android-sdk on GitHub there are only the native libraries for the ARM architecture, for this reason when you tried to install on an x86 emulator you receive the error INSTALL_FAILED_NO_MATCHING_ABI
.
If you want to use it on the emulator you need to create an armeabi-v7a
emulator instead the x86
one.