Flutterandroid调用动态库由rust预先构建无法在发布模式下加载动态库

问题描述

我正在尝试在flutter项目中使用rust预先构建库。我把core.so放在android / app / src / main / jniLibs /目录中,都放在“ arm64-v8a”和“ armeabi-v7a”子目录中。 然后在app / build.gradle中添加main.jniLibs.srcDirs = ['src / main / jniLibs'] 然后用飞镖加载我的代码:

> final DynamicLibrary greeterNative = Platform.isAndroid
>     ? DynamicLibrary.open("rustcore.so") : DynamicLibrary.process(); then define the method: typedef GetGenesisFunction = Pointer<Uint8>
> Function(Pointer<Uint8>,int); typedef GetGenesisFunctionFFI =
> Pointer<Uint8> Function(Pointer<Uint8>,Int32); final
> GetGenesisFunction rustGenesis =
> greeterNative.lookup<NativeFunction<GetGenesisFunctionFFI>>("rust_call").asFunction();

好的,我在调试和配置文件模式下运行我的flutter应用程序,一切正常,来自rust core.lib的方法有效。 但是,当我使用“ --release”构建时,它告诉我: I / flutter(8547):无效参数:无法加载动态库(dlopen失败:找不到库“ core.so”) 我找到了发行版apk并将其解压缩,我可以看到core.so与“ libflutter.so”和“ lipapp.so”在那里 那么怎么了,非常感谢~~~~

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...