2

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.

kishidp
  • 1,918
  • 6
  • 23
  • 29

1 Answers1

1

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.

Anton Malyshev
  • 8,686
  • 2
  • 27
  • 45
  • ok i see. that might be the problem. the library I'm using only supports arm architecture. will try the gradle solution, thanks for the help. – kishidp Aug 11 '16 at 08:38