- 64位机遇到坑无法加载Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.demo-9VPs6uV4op26NFsHGF_gGQ==/lib/arm64/librnupdate.so" is 32-bit instead of 64-bit,或 报 librnupdate.so is not found.
解决过程:
64位cpu实际上是支持32位指令的,需要在android studio的工程里面进行配置:
defaultConfig {
...
ndk {
abiFilters "armeabi", "armeabi-v7a", "x86", "mips" //增加库的加载顺序,剔除64位
}
} - 热更新之注意事项
2.1 downloadUpdate,checkUpdate,switchVersionLater,switchVersion等函数回调业务一次谨慎处理,以后不再修改。更新包若改了此处,app在更新时候,则会报(__XXXXBridgeXXX is not a object)的崩溃。
2.2 更新成功后,为了防止版本回退必须调用markSuccess()的接口。如下:
doUpdate = info => {
downloadUpdate(info)
.then(hash => {
Alert.alert('提示', '下载完毕,是否重启应用?', [
{
text: '是',
onPress: () => {
switchVersion(hash)
markSuccess()
}
},
{ text: '否' },
{
text: '下次启动时',
onPress: () => {
switchVersionLater(hash)
markSuccess()
}
}
])
})
网友评论