java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader错误记录

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"
        }
    }


}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章