Mam projekt Androida (nie ndk). W tym projekcie łączę moją własną bibliotekę natywną myLib.so. Skompilowałem moją bibliotekę dla: armeabi-v7a i x86. Tak więc w folderze jniLibs mam dwa foldery z moją biblioteką: armeabi-v7a, x86.NiezadowolonyLinkError na Samsung S6
Gdy użytkownik uruchamia aplikację na mój Samsung S6, mam kolejny dziennik awarii:
> java.lang.UnsatisfiedLinkError:
> dalvik.system.PathClassLoader[DexPathList[[zip file
> "/data/app/com.mycompany.test-2/base.apk"],nativeLibraryDirectories=[/data/app/com.mycompany.test-2/lib/arm64,
> /vendor/lib64, /system/lib64]]]
> couldn't find "myLib.so" at java.lang.Runtime.loadLibrary(Runtime.java:366) at
> java.lang.System.loadLibrary(System.java:989)
co się dzieje? dlaczego urządzenie 64-bitowe nie działa z moją biblioteką?
Wow, zajrzałem do środka apk i faktycznie widzę folderu arm64-V8A !! Dlaczego Android generuje to dla mnie? Jak mogę go usunąć? – Jim
skompiluj 'pl.droidsonroids.gif: android-gif-drawable: 1.1. +' Używam tej biblioteki w moim projekcie. I wygląda na to, że ta biblioteka umieściła pliki .so w lib/arm64-v8a. Jak mogę zablokować że – Jim
Można to zrobić: Android { .... defaultConfig { .... NDK { abiFilters "armeabi-v7a", "x86" } } } – ph0b