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

libcrypto.so

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

1
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中也配置一份

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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'
}
}
}

Powered by AppBlog.CN     浙ICP备14037229号

Copyright © 2012 - 2020 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :