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'
        }
    }
}
上一篇 Android NDK 版本选择
下一篇 Android 10(Api 29)新特性适配 - 设备硬件标识符访问限制
目录
文章列表
1 使用yum搭建LNMP环境
使用yum搭建LNMP环境
2
CentOS下源码安装Git
CentOS下源码安装Git
3
Magento 2日志打印
Magento 2日志打印
4
设计模式(1)面向对象的六大原则
设计模式(1)面向对象的六大原则
5
laravel-admin文件上传及处理
laravel-admin文件上传及处理
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。