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 行为验证码(滑动拼图、点选文字)AjPlus Captcha
行为验证码(滑动拼图、点选文字)AjPlus Captcha
2
Kubernetes查看Pods/Nodes
Kubernetes查看Pods/Nodes
3
JVM中Perm区持续上涨问题
JVM中Perm区持续上涨问题
4
JS字符串格式化方法
JS字符串格式化方法
5
Flutter Widget之ListTile
Flutter Widget之ListTile
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。