根据文档对flutter项目接入mPaaS扫码组件以后
使用打开flutter 原生Android项目可以正常运行项目,
但是使用flutter工程运行,报错提示:
java.util.concurrent.ExecutionException: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/xxx包名-jAyFg4p3ciNQxoyNS6r5lQ==/base.apk"],nativeLibraryDirectories=[/data/app/xxx包名-jAyFg4p3ciNQxoyNS6r5lQ==/lib/arm64, /data/app/xxx包名-jAyFg4p3ciNQxoyNS6r5lQ==/base.apk!/lib/arm64-v8a, /system/lib64, /hw_product/lib64, /system/product/lib64]]] couldn't find "libflutter.so",
架构配置是按照文档设置:
ndk {
abiFilters "armeabi", "armeabi-v7a", "arm64-v8a"
}
从build文件中的apk文件解压查看lib文件夹,其中除了 armeabi-v7a 文件夹下有这个libflutter.so 文件,其他的架构文件夹下都没有。
如果ndk配置只用armeabi-v7a,在荣耀9X 真机运行又一直卡在
Installing build\app\outputs\apk\app.apk…
请问如何处理啊
【 flutter android 原生集成mPaaS扫码组件以后,运行报错找不到 so库
】
这个问题是因为在运行 Flutter 项目时,找不到 mPaaS 扫码组件所需的 so 库。这个库可能在原生 Android 项目中被正确添加了,但是在 Flutter 项目中没有正确添加。
要解决这个问题,你需要将 mPaaS 扫码组件的 so 库添加到 Flutter 项目的 android/app/src/main/libs 目录下。这里是一些步骤来解决这个问题:
android {
//...
sourceSets {
main {
jniLibs.srcDirs = ['src/main/libs']
}
}
}
CopyCopy
这将告诉 Gradle 在构建过程中将 so 库包含在输出的 APK 文件中。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。