I have an Android project. It's working for several iteration now without any major issues. It's important to note that I am using a 3rd party library that uses an .so
file in jnilib folder.
I decided to add WebP and GIF playback implementation. Upon looking for 3rd party libraries, I ended up using Fresco.
Now, I tried adding Fresco in gradle and I immediately encountered an issue with Duplicate Entry
. Perhaps because of Facebook SDK implementation. I managed to fix by adding exclude
for com.parse.bolts
The gradle build now works properly, but as soon as I run the app. I encountered an UnsatisfiedLinkError
with the code from the library I mentioned earlier
Anybody encountered this issue? How can I resolve this?
EDIT:
Here's the error log
java.lang.UnsatisfiedLinkError: No implementation found for void com.lib.util.Utils.nativeSetLevel(int) (tried Java_com_lib_util_Utils_nativeSetLevel and Java_com_lib_util_Utils_nativeSetLevel)`
That code works before. This only happen when I add Fresco.
Most probably that's because fresco added native libraries of new architecture (which was unsupported by your libs, for example arm64-v8a), try to limiting supported architectures adding
ndk {
abiFilters "armeabi-v7a", "x86"
}
into defaultConfig of your build gradle, changing "armeabi-v7a", "x86"
to the list of architectures, which you build your lib for.
Another way is to build your native library for all architectures, supported by fresco.