在使用cmake配置导入的ffmpeg静态库时,运行总是报错couldn't find "libnative-lib.so"
,错误日志如下:
2020-04-05 23:45:11.261 30041-30041/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.ffmpegtest, PID: 30041
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example.ffmpegtest-SWtXlzYyCR3ODkAqF-LeLg==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.ffmpegtest-SWtXlzYyCR3ODkAqF-LeLg==/lib/arm64, /system/lib64]]] couldn't find "libnative-lib.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:1012)
at java.lang.System.loadLibrary(System.java:1669)
at com.example.ffmpegtest.MainActivity.<clinit>(MainActivity.java:12)
at java.lang.Class.newInstance(Native Method)
at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:69)
at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:41)
at android.app.Instrumentation.newActivity(Instrumentation.java:1219)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3028)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3254)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1997)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7047)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)
解决办法:
将Gradle
版本保持在5.1.1
或5.1.1
以上
gradle插件
版本改成3.4.1
然后运行就不报错了