Android引用动态链接so库踩坑记录

libcrypto.so

巨坑:在Android 5.0及以下系统中,动态链接库的名称不能使用crypto,否则

No implementation found for java.lang.String me.yezhou.libc.crypto.Crypto.getSecret() (tried Java_me_yezhou_libc_crypto_Crypto_getSecret and Java_me_yezhou_libc_crypto_Crypto_getSecret__)

这是因为在Android 5.0及以下系统中自带libcrypto.so,App会去调用系统的libcrypto.so

release配置

在debug中的ndk配置,不要忘记在release中也配置一份

buildTypes {
    release {
        minifyEnabled true
        zipAlignEnabled true
        signingConfig signingConfigs.releaseConfig
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        ndk {
            abiFilters "armeabi", /*'armeabi-v7a', "arm64-v8a", */'x86'
        }
    }
    debug {
        ndk {
            abiFilters "armeabi", /*'armeabi-v7a', "arm64-v8a", */'x86'
        }
    }
}

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/18/android-references-dynamic-link-so-library/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
Android引用动态链接so库踩坑记录
libcrypto.so 巨坑:在Android 5.0及以下系统中,动态链接库的名称不能使用crypto,否则 No implementation found for java.lang.String me.yezhou.libc.crypt……
<<上一篇
下一篇>>
文章目录
关闭
目 录