赞
踩
Android studio版本3.6
NDK开发过程这个问题就是没有找到对应so库造成的
完整的错误日志
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.pbph.ffmpegdemo-JyNw8Rk8pViQBFoHfRx06g==/base.apk"],nativeLibraryDirectories=[/data/app/com.pbph.ffmpegdemo-JyNw8Rk8pViQBFoHfRx06g==/lib/arm64, /system/lib64, /system/vendor/lib64, /system/vendor/lib64/hw]]] couldn't find "libnative-lib.so"
根据日志就是没找到这个native-lib这个so库
首先查看apk
发现lib下有这个so库
问题出现在build.gradle
android { compileSdkVersion 29 buildToolsVersion "29.0.3" defaultConfig { applicationId "com.pbph.ffmpegdemo" minSdkVersion 19 targetSdkVersion 29 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" //这个没有添加导致报错,这个是在打包的时候选择cpu架构,因为编译的时候只有armeabi-v7a,所以运行的时候也要加上这个限制 ndk { abiFilters "armeabi-v7a" } externalNativeBuild { cmake { cppFlags "" abiFilters 'armeabi-v7a' } } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } externalNativeBuild { cmake { path "src/main/cpp/CMakeLists.txt" version "3.10.2" } } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。