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


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